dimi3 Posté 21 Mars 2011 Posté 21 Mars 2011 Bonjour, Lorsque, au cours de mes tests, je tente de télécharger le même fichier via la fonction PHP upload , j'obtiens parfois une erreur de chargement, parfois pas. Or il s'agit toujours du même fichier dont le contenu n'a pas varié. Quelle peut être la cause de ces erreurs ? Je vous remercie.
jcaron Posté 22 Mars 2011 Posté 22 Mars 2011 Euh, c'est quoi "la fonction PHP upload"? Tu fais un upload depuis ton script vers un autre serveur, ou tu fais un upload depuis ton navigateur vers ton script? C'est quoi l'erreur que tu obtiens? Elle se manifeste comment? Ton fichier fait quelle taille? Il met combien de temps à être envoyé? Tu ne serais pas juste à la limite du timeout, et quelquefois c'est juste en dessous et quelquefois juste au dessus? Jacques.
dimi3 Posté 22 Mars 2011 Auteur Posté 22 Mars 2011 (modifié) Bonjour et merci de votre attention. Je télecharge du disque dur vers le serveur avec la fonction : if(move_uploaded_file($_FILES['fichier_telecharge']['tmp_name'], $dossier . $fichier)) { echo '<center>Chargement effectué avec succès !</center>'; } else { echo '<center>Le téléchargement a échoué !</center>'; J'obtiens l'erreur 6 fréquemment, en téléchargeant le même fichier même de taille minuscule (13 ko par exemple). Le temps n'est pas long (5 secondes à tout casser). Peut-on modifier le timeout ? Modifié 22 Mars 2011 par dimi3
jcaron Posté 22 Mars 2011 Posté 22 Mars 2011 Quelles sont les valeurs de $dossier et $fichier? L'erreur 6, tu la sors d'où? $_FILES['fichier_telecharge']['error'] ou ailleurs? Si c'est le premier, alors ça veut dire qu'il n'a pas trouvé de dossier temporaire pour stocker le fichier, cf upload_tmp_dir dans php.ini (ou ini_set, etc.), regarde ce que donne php_info. Regarde aussi quel est le tmp_name de tes fichiers quand ça marche. Note que tu devrais tester $_FILES['fichier_telecharge']['error'] avant de tenter le move_uploaded_file... Jacques.
dimi3 Posté 22 Mars 2011 Auteur Posté 22 Mars 2011 $dossier est le chemin cible $dossier = "./reception/"; $fichier = basename($_FILES['fichier_telecharge']['name']); l'erreur 6 provient en effet de $_FILES['fichier_telecharge']['error'] Je vais suivre vos conseils et voir ce qu'il en est. Je vous dirai le résultat. Merci
Patrick Posté 22 Mars 2011 Posté 22 Mars 2011 As tu essayé de mettre le chemin depuis la racine dans $dossier ? ++ Patrick
dimi3 Posté 22 Mars 2011 Auteur Posté 22 Mars 2011 (modifié) Voici les résultats : $_FILES['fichier_telecharge']['error'] avant de tenter le move_uploaded_file... donne error 1 php.info donne : Warning: phpinfo() has been disabled for security reasons in /var/www/g/ge/gen/mon_site.perso.sfr.fr/public_html/mon_dossier/phpinfo.php on line 2 $taille = filesize($_FILES['fichier_telecharge']['tmp_name']); donne Warning: filesize() [function.filesize]: open_basedir restriction in effect. File(/tmp/php_tmp/phpxJGNfp) is not within the allowed path(s): (/var/www/g/ge/gen/mon_site.perso.sfr.fr/public_html/:/usr/lib/php5/:/var/sitesmutu) in /var/www/g/ge/gen/mon_site.perso.sfr.fr/public_html/mon_dossier/creer3.php on line 10 Le fait d'avoir déclaré le dossier depuis la racine me semble faciliter le transfert. Malgré l'affichage des erreurs et avertissements ci-dessus, le téléchargement fonctionne parfois et parfois non. Merci à vous pour votre aide. Modifié 22 Mars 2011 par dimi3
dimi3 Posté 30 Mars 2011 Auteur Posté 30 Mars 2011 J'ai résolu le problème en changeant d'hébergeur. Mon fournisseur internet sfr qui hébergeait mon site n'est pas au top, en ce qui concerne les téléchargements. Hébergement gratuit, mais encore trop cher !
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant