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

EDI, CMS, Outils, Scripts et API PHP Discussion :

déplacement de fichier impossible


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 79
    Points : 21
    Points
    21
    Par défaut déplacement de fichier impossible
    Bonjour à tous et à toute, je viens demander une petite aide car cela fait plusieurs heures que je cherche en vain.

    Je vous explique briévement, j'effectue un site d'hébergement photo avec une partie administrateur dans laquel celui ci vérifie les photo hébergé par les membres avant de les accepter.

    L'hébergement des photos par les utilisateurs s'éffectue correctement grâce à un formulaire et j'inscris dans un fichier text le chemin ainsi que le nom de la photo: tout se déroule correctement.
    J'ai donc sur la page admin les images des membres accompagné de checkbox (il suffira à l'admin de cliquer pour que les photos soit déplacé de dossier (dossier admin vers dossier utilisateurs) et que les fichiers textes soit mis à jour).

    Le voila mon problème, j'ouvre tout d'abord le fichier texte admin qui est composé des chemins et noms de photo hébergé par les utilisateurs et avec l'aide d'une boucle je parcours les checkbox possédant le même nom que la photo approprié (plus facil pour la gestion)

    Puis j'ai créée un nouveau fichier texte(utilisateurs) pour que cela soit mis à jour automatiquement (parcours du fichier texte pour l'affichage des photos).
    Le soucis étant que je ne parviens pas à déplacé le fichier, cela me met l'erreur:

    j'ai mis des echo pour que vous puissiez voir
    le premier echo correspond au nom de la checkbox(avec le chemin) cliqué et donc de la photo(possédant le même nom) à déplacé
    ensuite j'ai découpé ce nom pour obtenir juste le nom de la photo .

    ./PHOTOHEBER/1731.jpg
    Notice: Undefined index: 1731.jpg in C:\wamp\www\photo2\validphoto.php on line 29


    ma ligne 29:
    $dest_fichier = basename($_FILES["$new"]['name']);

    Je sais que mon erreur vient de ["$new"] mais je ne vois pas comment la mettre autrement, et du fait que cela ne marche pas, je peux pas faire de move_uploaded_file.

    et donc mon script est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?php
        $fichier = 'photoheber.txt';
        $contenu_array = file($fichier);
     
     $file = fopen("photoheberuser.txt","a");
     $dest_dossier = './PHOTOHEBERUSER/';
     
     
     
    foreach($contenu_array as $cle=>$valeur)
        {
     
     
        if(!empty($_POST["$cle"]))
       { echo $valeur;
     
         $new= substr("$valeur", 13);
         $dest_fichier = basename($_FILES["$new"]['name']);
     
     
    	echo $dest_fichier ;
     
     
       }
    }
     
     
     
    ?>
    merci d'avance

  2. #2
    Inscrit
    Avatar de Caerbannog
    Inscrit en
    Novembre 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 206
    Points : 273
    Points
    273
    Par défaut
    $_FILES ne contient que les fichiers que l'utilisateur qui demande la page a php est en train d'envoyer, donc il ne sera plus accessible par la suite. C'est pareil pour le fichier temporaire dont le chemin est dans $_FILES.
    Tu n'as pas d'autre choix que d'utiliser move_uploaded_file au moment où tu écris dans "photoheber.txt".

    Par ailleurs les clés dans $_FILES sont les noms des champs de type "file" du formulaire que le mec poste, donc elles ne changent probablement pas : $_FILES["$new"] serait plutôt $_FILES["fichier"] si ton code est "<input type='file' name='fichier' />".

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 79
    Points : 21
    Points
    21
    Par défaut
    J'ai du mal m'exprimer en faite, les utilisateurs ont déja hébergé des photo et le move... déja été utilisé dans une autre page.

    La j'en suis dans une autre page (une page destiné uniquement à l'administrateur)ou je me sert du fichier texte (ou sont inscrit toutes les photos que les autres personnes ont hébérgé) afin d'afficher les photo sur une page web, et pour chaque photo correspondante j'ai mis une checkbox.
    En fait ce que je désirerais faire c'est que lorsque je clique sur valider (la page ou il y'a les photos déja uploader et les checkbox: c'est un formulaire) toute les checkbox cliqué correspondant à une photo précise. Je voudrais donc déplacer ces photos dans un autre dossier.

    ce n'est pas facile à expliquer.
    Vous voyez ce que je veux faire?

    donc le script que j'ai mis initialement correspond à la récupération de donnée d'une page formulaire ou il y'a des photos affiché (et un checkbox(possédant le nom de la photo) pour chaque photos))

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 79
    Points : 21
    Points
    21
    Par défaut
    une partie de mon formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    $fichier = 'photoheber.txt';
        $contenu_array = file($fichier);
     
    $iCpt = 0;
    foreach($contenu_array as $cle=>$valeur)
        {
    	?>
     
         <table width="700px">
    	 <tr>
    	 <td>
    	<?php 
    	print("<img src=\"$valeur\" border=\"0\" width=\"20%\">");
    	//echo "<tr><td> <input type='checkbox' name='choix_".$valeur."' value='ok' /> ";
    echo "</TD><TD><tr><td> <input type=\"checkbox\"  name=\"$cle\" >$valeur";//value=\"true\"

  5. #5
    Inscrit
    Avatar de Caerbannog
    Inscrit en
    Novembre 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 206
    Points : 273
    Points
    273
    Par défaut
    Ma remarque sur $_FILES tient toujours, non ? Utilise rename avec les bons chemins.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 79
    Points : 21
    Points
    21
    Par défaut
    je m'y suis pris autrement en créant des fichiers et en ajoutant les informations dedans.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Java 7] Déplacement de fichiers : Files.move() impossible
    Par BobbyWeb dans le forum Général Java
    Réponses: 1
    Dernier message: 02/09/2011, 13h23
  2. déplacement de fichier impossible
    Par laurentSc dans le forum Langage
    Réponses: 4
    Dernier message: 04/04/2010, 16h56
  3. Réponses: 2
    Dernier message: 16/10/2009, 10h32
  4. suppression de fichier impossible (windows xp)
    Par annecyrond dans le forum Windows XP
    Réponses: 8
    Dernier message: 10/03/2005, 11h38
  5. Réponses: 16
    Dernier message: 25/11/2004, 12h34

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