IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Upload] move_uploaded_file ne marche pas


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Points : 177
    Points
    177
    Par défaut [Upload] move_uploaded_file ne marche pas
    enfin si...
    j'ai un dossier "upload" qui contient :
    un dossier "image" et
    un fichier pour l'upload

    tout se passe comme si tout etait ok(pas de warning...) sauf que le fichier uploader ne se trouve pas dans le répertoire de destination "image"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $uploaddir = './image/';
    $savefile = $uploaddir.$boutfichier[0]."_".$date.".".$dernier;
    $savefile = ereg_replace("[\\]","/",$savefile);
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $savefile)){
    ...
    }
    voyez vous d'où cela peut venir?

    merci

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Remplace ton $savefile par un nom de fichier simple et regarde si move_upload_file() fonctionne dans celui ci ....

    en gros essaie d'uploader dossier/tonfichier.ext tout simplement avant d incorporer $date et compagnie

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Points : 177
    Points
    177
    Par défaut
    meme resultat...
    si j'affiche certaines variables, voila le resultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ...
    $uploaddir = './images/';
    $savefile = $uploaddir.$boutfichier[0]."_".$date.".".$dernier;
    $savefile = ereg_replace("[\\]","/",$savefile);
    echo $savefile;
    //donne                ./images/part_061204043205.jpg
    echo $_FILES['userfile']['tmp_name'];
    //donne                D:\PHP\uploadtemp\php204E.tmp
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $savefile)){
    ...
    }
    et toujours aucune erreur affichée...

  4. #4
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    J'ai déjà eu des problèmes de fichiers qui n'apparaissaient pas parce que dans mon formulaire d'appel j'avais oublié de mettre 'enctype="multipart/form-data"'.
    Soit une balise form qui doit ressembler à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form name="mon_formulaire" enctype="multipart/form-data" method="post" action="destination.php">
    Vérifie que tu ne l'as pas oublié.
    --
    Rakken.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Points : 177
    Points
    177
    Par défaut
    erreur déjà commise aussi
    mais pas sur ce cas là...

    et si je change le dossier de destination par un dossier qui se trouve en dehors du dossier "upload" j'ai droit au warning


    Warning: move_uploaded_file(../xxx/xxx/part_061204044225.jpg): failed to open stream: No such file or directory in D:\www\xxx\xxx\xxx\xxx\admin\upload\upload.php on line 33

  6. #6
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    Alors faut simplifier encore ton code.

    Essaye de sauvegarder ton fichier sous un nom bien défini (genre "montest.jpg") dans ton répertoire courrant, sans chercher plus loin.
    Une fois que c'est fait, fait une ptite recherche dans ton projet pour savoir s'il ne t'a pas créé "montest.jpg" ailleurs (typiquement, un ou deux répertoire plus haut, ca peut parfois se produire en fonction des includes et de qui appele qui...).

    Et a partir du moment, ou ton fichier est généré, tu n'a plus qu'a remodifier ptit à ptit pour le mettre vraiment ou tu veux avec le nom que tu veux.

    --
    Rakken

  7. #7
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    normalement si tu ecris comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $uploaddir = './images/';
    $savefile = $uploaddir.$boutfichier[0]."_".$date.".".$dernier;
    $savefile = ereg_replace("[\\]","/",$savefile);
    echo $savefile;
    //donne                ./images/part_061204043205.jpg
    echo $_FILES['userfile']['tmp_name'];
    //donne                D:\PHP\uploadtemp\php204E.tmp
    move_uploaded_file($_FILES['userfile']['tmp_name'], $savefile);
    Le code devrait te renvoyer un chiffre de 0 a 7 , qui est le code erreur de la fonction move_uploaded_file() , si c est 0 c est que tout est Ok sinon il y aun probleme

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Points : 177
    Points
    177
    Par défaut
    ça fonctionne MAIS c'est bizarre...
    j'ai rajouté avant le if
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    move_uploaded_file($_FILES['userfile']['tmp_name'], $savefile);
    ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ...
    $uploaddir = './images/';
    $savefile = $uploaddir.$boutfichier[0]."_".$date.".".$dernier;
    $savefile = ereg_replace("[\\]","/",$savefile);
     
    move_uploaded_file($_FILES['userfile']['tmp_name'], $savefile);
     
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $savefile)){
    ...
    }
    le if n'execute pas move_uploaded_file ???

  9. #9
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    bizare ? ça marche correctement ? la fonction te renvoi un chiffre ?

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Points : 177
    Points
    177
    Par défaut
    non rien du tout...
    et ce qui est encore plus drole c'est que je fais des test sur 2 serveurs et avec un ça marche et l'autre non...

  11. #11
    Membre actif
    Homme Profil pro
    Responsable d'une MOE bancaire
    Inscrit en
    Juillet 2003
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Responsable d'une MOE bancaire

    Informations forums :
    Inscription : Juillet 2003
    Messages : 261
    Points : 226
    Points
    226
    Par défaut
    une idée comme ca : essaye de mettre un chemin global pour le dossier de destination

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Points : 177
    Points
    177
    Par défaut
    3X helas non
    meme avec
    D:\www\xxx\xxx\xxx\xxx\images
    ça fait comme si tout etait ok mais pas d'image sur le serveur

Discussions similaires

  1. [PHP 5.2] Formulaire avec UPLOAD qui ne marche pas
    Par ju0123456789 dans le forum Langage
    Réponses: 2
    Dernier message: 08/01/2010, 16h37
  2. move_uploaded_file ne marche pas
    Par kadiato dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 16/04/2009, 15h19
  3. Réponses: 3
    Dernier message: 15/01/2008, 13h45
  4. [Upload] move_uploaded_file() ne transfert pas
    Par elvan49 dans le forum Langage
    Réponses: 4
    Dernier message: 19/09/2007, 15h14
  5. [MySQL] requête upload qui ne marche pas en local
    Par stuef dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/03/2006, 18h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo