upload une vidéo en php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : upload une vidéo en php

Re: upload une vidéo en php

par AB » 02 juil. 2013, 03:00

Bonjour,

Petite correction :
Je disais plus haut que chez ovh on se heurtait, pour l'upload de gros fichiers, à la limite du timeout d'apache qui était de 5 minutes. C'est maintenant corrigé et je peux maintenant uploader des fichiers jusqu'à la limite de la directive "upload_max_filesize", soit 64 Mo actuellement, et donc quasiment une dizaine de minutes d'upload pour cette taille de fichier avec une connexion montante de 1Mo.

Re: upload une vidéo en php

par AB » 20 juin 2013, 16:15

Ce n'est pas accessible sur un mutualisé.

Re: upload une vidéo en php

par miiidooo19 » 17 juin 2013, 20:45

merci pour votre réponse, mais comment y accès a ce fichier chez mon hébergeur ? faut il passer par htaccess ?

Re: upload une vidéo en php

par AB » 16 juin 2013, 17:00

C'est dans le fichier apache httpd.conf ou en serveur virtuel http://httpd.apache.org/docs/current/mo ... ml#timeout

Re: upload une vidéo en php

par miiidooo19 » 14 juin 2013, 22:07

Alors maintenant j'ai reussi a augmentée la valeur de upload_max_filesize et post_max_size mais il me reste problème de timeout quel variable faut changer au niveau de serveur ?
chez moi une video de 60Mo mis 30min :'( et a la fin c'est une erreur de serveur (le timeout)

Re: upload une vidéo en php

par AB » 12 juin 2013, 23:41

Chez OVH ces deux valeurs sont actuellement de 60 Mo sur un mutualisé...
Mais :
Le problème est qu'il y a un autre réglage serveur qui est le timeout apache et qui est le temps d'attente maximum du serveur pour recevoir un post. Ce réglage est fixé par défaut (sans possibilité de modification sur un mutualisé) à 5 min soit 300 secondes, ce qui veut dire que le maximum de téléchargement possible dépendra donc aussi de la vitesse ascendante (de l'ordinateur vers le serveur) de la connexion internet.
Par exemple avec une connexion ascendante de 1024 Kbits/s on pourra télécharger un maximum d'environ 30 Mo en 5 minutes, il faudra donc une connexion ascendante de 2048 Kbit/s pour pouvoir télécharger 60 Mo en 5 minutes.

Re: upload une vidéo en php

par miiidooo19 » 12 juin 2013, 18:12

Comme déjà dit, pour modifier ces valeurs, Il faut pouvoir modifier la configuration du serveur (et cela n'a rien à voir avec le code de l'upload lui-même).

Cela se fait soit avec ini_set, soit par l'intermédiaire un fichier .htaccess, soit dans le php.ini, mais il est très peu probable que ce soit possible sur un serveur mutualisé. Demande à ton hébergeur la marche à suivre.

Malheureusement avec mon hébergeur ne peut pas augmenter pour un serveur mutualisé :s qu'il est la solution dans ce cas ? (a part bien sur un serveur dédier )
la valeur des deux variable est de 20Mo et moi j'ai besoin au minimum a 60Mo (il s'agit des vidéos de 30s donc en générale c'est > 40Mo)

vous connaissez des hébergeur qui pourrai augmenter même dans mutualisé ?

Re: upload une vidéo en php

par AB » 12 juin 2013, 16:19

Comme déjà dit, pour modifier ces valeurs, Il faut pouvoir modifier la configuration du serveur (et cela n'a rien à voir avec le code de l'upload lui-même).

Cela se fait soit avec ini_set, soit par l'intermédiaire un fichier .htaccess, soit dans le php.ini, mais il est très peu probable que ce soit possible sur un serveur mutualisé. Demande à ton hébergeur la marche à suivre.

Re: upload une vidéo en php

par miiidooo19 » 11 juin 2013, 22:13

Merci pour les liens AB ta classe m'as beaucoup aidée :)

maintenant mon upload fonction parfaitement en local sauf que quand j'ai mis mon projet chez mon hébergeur ça fonction plus, en fait le problème viens de la valeur des deux variable de serveur upload_max_filesize et post_max_size et je veux savoir comment faire pour les modifier ? y a moyen de le faire moi même dans mon code ? si oui ou le mettre exactement ? ou bien si mon hébergeur qu'il faut que je contact pour le modifier ?

Merci d'avance

Re: upload une vidéo en php

par AB » 04 juin 2013, 23:07

Si la configuration serveur post_max_size est dépassée alors les superglobales $_POST et $_FILES seront vides. Et si tu es sur un mutualisé il est probable que le serveur ne tienne pas compte de tes indications avec php.ini, et il y a fort à parier que cela ne fonctionnera pas mieux en essayant depuis un .htaccess.

Pour gérer les erreurs il y a cette classe d'upload qui t'indiquera clairement les erreurs et si tu utilise l'exemple avec la barre de progression il n'y aura pas besoin d'attendre 100 plombes avant de savoir que le fichier est trop gros. Mais bon cela gère l'erreur mais ne te donne pas pour autant une solution et il n'y en a pas avec php tant que tu ne peux pas configurer ton serveur.

Re: upload une vidéo en php

par moogli » 04 juin 2013, 17:42

pas de bol ;)

Regarde quand même si ton hébergeur propose quelque chose.

@+

Re: upload une vidéo en php

par miiidooo19 » 04 juin 2013, 15:14

pour ce qui est du travail sur la vidéo tu peux te tourner vers http://ffmpeg-php.sourceforge.net/. (seulement si tu a un dédié, il y a peux de chance que cela soit rependus sur du mutualisé).

@+
je suis pas en dédié malheureusement ..

Re: upload une vidéo en php

par moogli » 04 juin 2013, 14:32

pour ce qui est du travail sur la vidéo tu peux te tourner vers http://ffmpeg-php.sourceforge.net/. (seulement si tu a un dédié, il y a peux de chance que cela soit rependus sur du mutualisé).

@+

Re: upload une vidéo en php

par miiidooo19 » 04 juin 2013, 13:02

pas besoin de echo avec var_dump (cf la doc).

ton tableau $_POST est vide, donc, a priori il n'y a pas de soumission du formulaire.
Ce qui est forcément vrai au premier affichage du formulaire vu que tu n'a pas cliqué sur le bouton submit.

par contre lorsque tu tu clique dessus ça doit aller.
mais si quand je valide le formulaire avec une vidéo que le var_dump($_POST) = array empty
par contre avec une photo j'ai array
'Upload' => string 'Upload' (length=6)

PS la video fait 60 Mo et dans mon fichier php.ini j'ai mis le max a 100M donc


pour ce qui est du du champs caché indiquant la taille max, c'est du flan vu que c'est coté client tu ne peux pas en tenir compte.
et de toute façon si le fichier dépasse les limites de php tu ne pourra pas l'utiliser.
quel champs caché ? je n'ai utilisé aucun hidden
pour if ($file), c'est inutile tu déclare la variable au dessus et abuse du transtypage.
tu devrais plutot tester que $_FILES['video']['error'] existe et est égale à zéro (ou à la constante UPLOAD_ERR_OK).
@+
Oui c'est vrai

Re: upload une vidéo en php

par moogli » 04 juin 2013, 09:23

pas besoin de echo avec var_dump (cf la doc).

ton tableau $_POST est vide, donc, a priori il n'y a pas de soumission du formulaire.
Ce qui est forcément vrai au premier affichage du formulaire vu que tu n'a pas cliqué sur le bouton submit.

par contre lorsque tu tu clique dessus ça doit aller.

dans ce cas le else est à évité ;)


pour ce qui est du du champs caché indiquant la taille max, c'est du flan vu que c'est coté client tu ne peux pas en tenir compte.
et de toute façon si le fichier dépasse les limites de php tu ne pourra pas l'utiliser.

pour if ($file), c'est inutile tu déclare la variable au dessus et abuse du transtypage.
tu devrais plutot tester que $_FILES['video']['error'] existe et est égale à zéro (ou à la constante UPLOAD_ERR_OK).


@+