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 :

Fonction Copy marche pas


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut Fonction Copy marche pas
    Bonjour, je souhaite copier un fichier sur un serveur via un formulaire. j'utilise la fonction Copy. J'avais un ancien serveur où tout se passais bien et je dois en changer, depuis rien ne vas ;-)
    Impossible de copier les fichier. j'ai même un "fakepath" qui est apparu.
    J'utilise ce script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     if (!copy($fichierauploader, $content_dir.$nom_fichier2)){
          echo "Impossible de déplacer ".$fichierauploader." >br>(".$content_dir.$nom_fichier2.")";      
     }else{ echo "ok"}
    $fichierauploader est le nom du fichier que je souhaites uploader
    et $content_dir.$nom_fichier2 où l'uploader

    Au début dans $fichierauploader, j'avais : C:\fakepath\nomdufichier
    J'ai retiré C:\fakepath\

    Si quelqu'un me comprends peut-il m'aider, merci.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as contrôlé ce que valaient toutes ces variables ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Question bête : par fichier uploadé, tu veux dire que c'est quelque chose récupéré par input file dans un formulaire ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    Sabotage : oui je récupère bien mes valeurs et c'est là que j'ai vu qu'il récupérai au début C:\fakepath\nomdufichier

    Celira : oui tout à fait, désolé je n'avais pas préciser. J'ai un formulaire dans lequel je sélectionne un fichier sur mon disque, puis je souhaite le mettre sur un serveur.

    Merci pour votre aide

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il y a la fonction move_uploaded_file() pour déplacer les fichiers uploadés (même si ça ne changera pas ton problème).

    Quelle est l'erreur exacte que tu obtiens ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    J'avais déjà essayé move_uploaded_file() et cela ne change effectivement rien

    Le message d'erreur est celui que j'ai programmé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "Impossible de déplacer ".$fichierauploader." >br>(".$content_dir.$nom_fichier2.")";

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    copy() doit renvoyer un Warning.
    Assure toi de bien afficher toutes les erreurs.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    Je viens d'ajouter un bout de script pour avoir les warning :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: copy(C:\fakepath\TEST_170713.txt): failed to open stream: No such file or directory in D:\sites\fichiers\upload.php on line 64

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu n'avais pas retiré c:\fakepath ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    En fait si mais j'ai tout remis à l'initial car en fait quant je dis retiré c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\fakepath\TEST_170713.txt ==> TEST_170713.txt
    et je ne suis pas sur que cela soit mieux

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    et donc si tu le retires tu as quoi comme erreur ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    Warning: copy(TEST_170713.txt): failed to open stream: No such file or directory in D:\sites\fichiers\upload.php on line 64

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    D:\sites\fichiers\TEST_170713.txt existe bien ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bref, le fichier que tu essaye de copier n'existe pas. Tu es sûr que le fichier source est bien là où tu le cherches ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  15. #15
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    ok, je me rends compte que je n'ai pas été très clair, je reprends tout

    Via un formulaire je sélectionne un fichier sur mon disque dur et je souhaite le chargé sur un serveur.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     if (!copy($fichierauploader, $content_dir.$nom_fichier2)){
          echo "Impossible de déplacer ".$fichierauploader." >br>(".$content_dir.$nom_fichier2.")";      
     }else{ echo "ok"}
    avec
    $fichierauploader=C:\fakepath\TEST.txt ou $fichierauploader=TEST.txt si je bidouille la valeur récupérée


    $content_dir.$nom_fichier2 = D:\sites\fichiers\uploaded\TEST_ok.txt

  16. #16
    Membre régulier Avatar de a_me
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 84
    Points : 80
    Points
    80
    Par défaut
    salut,

    le répértoire : D:\sites\fichiers\uploaded\ est bien créé ?
    --- Silence of the Bones ---

  17. #17
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    remplace $fichierauploader par $_FILES['nom_de_ton_champs']['tmp_name'] et utilise move_uploaded_file().
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #18
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    a_me : oui le répertoire existe

    Sabotage : désolé mais je ne vois pas à quoi correspond ['tmp_name']

  19. #19
    Membre régulier Avatar de a_me
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 84
    Points : 80
    Points
    80
    Par défaut
    'tmp_name' est le nom temporaire donné au fichier uploadé dans le dossier désigné par php.ini pour recevoir les fichiers uploadés
    --- Silence of the Bones ---

  20. #20
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    'tmp_name' est un index prédéfini.

    Quand tu upload un fichier par formulaire, celui-ci est placé dans un repertoire temporaire avec un nom aléatoire.
    Un tableau $_FILES est créé avec toutes les informations dont :
    $_FILES['nom_de_ton_champs']['tmp_name'] = fichier temporaire en attente d'être copié
    $_FILES['nom_de_ton_champs']['name'] = nom d'origine du fichier
    etc.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. pourquoi cette fonction ne marche pas?
    Par kazannova dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/04/2008, 01h59
  2. La sous-fonction ne marche pas dans le programme principal
    Par lematlabeur dans le forum MATLAB
    Réponses: 11
    Dernier message: 15/11/2007, 21h04
  3. fonction redimensionnement marche pas sous firefox
    Par calitom dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 11/09/2007, 14h39
  4. [EasyPHP] fonction mail marche pas en local
    Par sitalgerie dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 02/04/2007, 20h01
  5. pourquoi ma fonction ne marche pas?
    Par isma92 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 30/01/2007, 14h22

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