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 Perl Discussion :

[langage] fonction pour fichier ou bien dossier


Sujet :

Langage Perl

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut [langage] fonction pour fichier ou bien dossier
    Bonjour,
    Je voudrais savoir s'il existe une fonction qui peut verifier si un fichier est déjà présent dans le serveur (site).

    Le même chose pour un dossier

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 427
    Points : 459
    Points
    459
    Par défaut
    sur le système de fichier local?
    si oui alors tu a les fonctions -e, -f, -d, etc...
    qui sont en fait des raccourcis vers la fonction stat.

    ils prennent en parametre un nom de fichier/dossier ou un fillehandle.
    (-e $path) retourne vrai si un node $path existe
    (-f $path) retourne vrai si le node existe et est un fichier
    (-d $path) retourne vrai si le node existe et est un dossier
    et il en existe d'autre qui te disent si le fichier est vide, si il semble binaire, etc...
    Recherche staigiaire(s) motivé(s) sur projet perl/reseau a grande echelle. Me contacter par mp.

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    HTML_CODE
    if ( ???? mon problème est ici????? ) {
    print<<HTML_CODE
    <tr>
    <td>
    <a href="$photo_query" target="$titre[0]">
    <img src="$picture_url/$as{'id'}/2.jpg" width="80" border=0></a>
    <tr>
    <td>
    HTML_CODE
    }
    Je voudrais que mon script vas afficher l'image (2.jpg) qui se trouve dans un sous dossier ($as{'id'})seulement si cette image existe.

  4. #4
    Membre habitué Avatar de rcageot
    Profil pro
    rien
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : rien

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Points : 170
    Points
    170
    Par défaut
    il suffit de tester la présence sur le disque
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $chemin_reel = "/var/www/etc/etc/";
    $fichier_image= $chemin_reel."/".$as{'id'}."/2.jpg";
    if (-e $fichier_image) {
    print<<HTML_CODE
    <tr>
    <td>
    <a href="$photo_query" target="$titre[0]">
    <img src="$picture_url/$as{'id'}/2.jpg" width="80" border=0></a>
    Si un ricard vaut un steak, j'ai bien bouffé une vache hier soir !
    L'art de poser les bonnes questions dans les forums afin de ne pas passer pour un

  5. #5
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Merci pour votre aide j'ai changé le non de variable ($as{'id'}) par ($ad_fields[0]) et j'ai fait comme vous m'avez dit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $chemin_reel = "/home/sites/han/public_html/promo/classifieds/default/pictures/";
    $fichier_image = $chemin_reel."/".$ad_fields[0]."/2.jpg";
    if (-e $fichier_image) {
    print<<HTML_CODE
    <tr>
    <td>
    <a href="$photo_query" target="$titre[0]">
    <img src="$picture_url/$ad_fields[0]/2.jpg" width="80" border=0></a>
    mais l'image (2.jpg) ne s'affiche pas

    Parcontre avec le code suivant l'image (2.jpg) s'affiche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $chemin_reel = "/home/sites/han/public_html/promo/classifieds/default/pictures/";
    $fichier_image = $chemin_reel/1001/2.jpg";
    if (-e $fichier_image) {
    print<<HTML_CODE
    <tr>
    <td>
    <a href="$photo_query" target="$titre[0]">
    <img src="$picture_url/$ad_fields[0]/2.jpg" width="80" border=0></a>
    mais ça est une solution que lorsque le variable ($ad_fields[0]) = dossier (1001) !

    Notant que le varible $ad_fields[0] varie entre 1001 et 9999, qui sont des dossiers dont certains d'entre eux (et pas tous) contiennent des images ( 2.jpg) et je cherche à afficher ces images lorsqu'elles existent.
    * si je trouve

    J'attends vos conseils et merci.

  6. #6
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Je pense à un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $fichier_image = $chemin_reel/[<****>]"/2.jpg";
    avec a la place de **** une expression voulant dire "n'importe quel dossier" car sous le dossier pucture j'ai que 8999 dossiers (1001, 1002, 1003, 1004, ... et 9999) et je n'ai pas d'autres.

  7. #7
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    RESOLU comment ?
    j'ai suivi le conseil de rcageot sans changer le variable $as{'id'} !
    c.à.d :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $chemin_reel = "/home/sites/han/public_html/promo/classifieds/default/pictures/";
    $fichier_image = $chemin_reel."/".$as{'id'}."/2.jpg";
    if (-e $fichier_image) {
    print<<HTML_CODE
    <tr>
    <td>
    <a href="$photo_query" target="$titre[0]">
    <img src="$picture_url/$as{'id'}/2.jpg" width="80" border=0></a>
    Avec le variable $ad_fields[0] tout seul n'a pas marché. mais avec le deux ($as{'id'} et $ad_fields[0]) comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $chemin_reel = "/home/sites/han/public_html/promo/classifieds/default/pictures/";
    $fichier_image = $chemin_reel."/".$as{'id'}."/2.jpg";
    if (-e $fichier_image) {
    print<<HTML_CODE
    <tr>
    <td>
    <a href="$photo_query" target="$titre[0]">
    <img src="$picture_url/$ad_fields[0]/2.jpg" width="80" border=0></a>
    aussi ça marche

    Je pause une petite question :
    pourquoi avec le variable $ad_fields[0] tout seul n'a pas marché? est ce que parce que j'ai une application utilisant ce dernier varible et qu'elle s'execute en même temps avec la fonction ajoutée?
    notant que $ad_fields[0] = $as{'id'}

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 01/05/2007, 19h25
  2. fonction pour lire les fichier audio
    Par tarek007 dans le forum Multimédia
    Réponses: 1
    Dernier message: 11/05/2005, 16h28
  3. Détourner une fonction pour copier un fichier en mémoire
    Par Rodrigue dans le forum C++Builder
    Réponses: 6
    Dernier message: 12/11/2003, 08h29
  4. Réponses: 3
    Dernier message: 02/09/2002, 18h49
  5. Réponses: 2
    Dernier message: 29/05/2002, 20h43

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