Aller au contenu

upload fantaisiste ?


dimi3

Sujets conseillés

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

Posté (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é par dimi3
Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

$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

Lien vers le commentaire
Partager sur d’autres sites

Posté (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é par dimi3
Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines plus tard...

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 ! :rolleyes:

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...