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 :

Tester l'existence d'un fichier : problème


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 19
    Points : 10
    Points
    10
    Par défaut Tester l'existence d'un fichier : problème
    Bonjour à tous!

    Je vais avoir besoin de votre aide :

    Dans le cadre de mon projet je dois tester l'existance d'un fichier (une photo en l'occurence) pour pouvoir en coller une standard si la photo n'existe pas.

    D'apres les doc je possede 2 fonctions à ma disposition pour faire cela : file_exists() et is_file().

    je vous met mon bout de code
    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
     
    for ($i=$limit;$i<$limitmax; $i++)
    {
    //la je recupere le nom d'une personne pour creer le nom de la photo a retrouver
      $nomphoto = $tableau[$i][2].".jpg";
     
    //ici je defini le chemin de mes photos  
      $chemin = '/repertoir/repertoir1/repertoir2/'.$nomphoto;
     
    //et c'est donc ici que je test son existance
    if(!file_exists($chemin))
      {
    //si elle existe pas je remplace par une photo bidon
        $nomphoto = 'bidon.jpg';
      }
    //et enfin je tente d'afficher ma photo 
      echo "<img src='/repertoir/repertoir1/repertoir2/$nomphoto' width='100' height='80'>";
    Le probleme : les fontions is_file et file_exists n'ont tout simplement pas l'air de fonctionner.
    Au final je me retrouver à afficher que mes photo bidon alors que si j'affiche directement une photo avec le bon chemin ca l'affiche : donc ce n'est pas un probleme de chemin.

    j'ai aussi remarqué que c'est deux fonctions retourne des booleen donc si j'essaye d'afficher le retour de la fonction je devrais avoir 0 ou 1 (je crois) mais la ca ne retourne rien

    Donc voila si quelqu'un voit ce qui cloche (ca se trouve c'est vraiment un truc super con mais je fatigue a force xD) qu'il m'en fasse part merci

    PS: ou meme si vous avez carrement une autre solution moi je suis preneur.

  2. #2
    Membre habitué Avatar de cynferdd
    Profil pro
    Analyste Développeur .Net, PHP, SQL Server
    Inscrit en
    Avril 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Développeur .Net, PHP, SQL Server

    Informations forums :
    Inscription : Avril 2003
    Messages : 154
    Points : 190
    Points
    190
    Par défaut
    J'ai reformulé un peu ton code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    for ($i=$limit;$i<$limitmax; $i++){
      //la je recupere le nom d'une personne pour creer le nom de la photo a retrouver
      $nomphoto = $tableau[$i][2].".jpg";
     
      //ici je defini le chemin de mes photos  
      $chemin = '/repertoir/repertoir1/repertoir2/'.$nomphoto;
     
      //et c'est donc ici que je test son existance
      if(file_exists($chemin)){
        echo "<img src=\"".$chemin."\" width='100' height='80'>";
      }else{
        echo "<img src='/repertoir/repertoir1/repertoir2/bidon.jpg' width='100' height='80'>";
      }
    }
    si tu fais des "echo" de tes variables (par exemple $nomphoto) juste après avoir essayé de leur affecter une valeur, il renvoie bien à chaque fois une valeur valide (j'entend par là sans espace en trop etc...)?

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    Oui toutes les valeurs affectée à mes variables sont correctes je les aient testées.

    Comme je dis si j'affiche directement dans la page les photos, ça s'affiche correctement mais des que je passe par la fonction de verification: la ca ne reconnais plus rien et ca me fais afficher que des photos bidon (alors que les chemins et les photos sont bons et existent bien !)

  4. #4
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Si tu ne travailles qu'avec des images je te conseille de te servir de getimagesize très pratique pour vérifier que ton image existe et pour récupérer ses infos en 1 ligne

  5. #5
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    je dirais que file_exists ou is_file travaille avec l'arborescence UNIX or toi tu lui passe un chemin qui commence par /

    / correspond a la racine UNIX pour les fonctions style file_exists
    / correspond souvent a la racine DU COMPTE WEB lorsqu'il est dans un <img src='/...'>

    a mon avis ton probleme vient de la... et tu devrais travailler en chemins relatifs et non absolus

  6. #6
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    Effectivement j'ai testé avec un chemin relatif et ca marche.
    Je n'aurais pas cru à la base que ca changerais quelque chose.

    merci ^^

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

Discussions similaires

  1. [PHP][XSLT] Tester existence d'un fichier, problème xslt_process
    Par guigui_rondat dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 28/07/2006, 09h41
  2. [FTP] Tester l'existence d'un fichier.
    Par antony dans le forum Langage
    Réponses: 2
    Dernier message: 03/03/2006, 18h54
  3. [File]Tester l'existence d'un fichier
    Par florantine dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 23/11/2005, 10h45
  4. tester l existence d un fichier sous turbo pascal
    Par Newllite dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 25/01/2004, 12h47
  5. Peut on tester l'existence d'un fichier ?
    Par Alamassepointcom dans le forum Flash
    Réponses: 2
    Dernier message: 10/10/2002, 12h10

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