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 :

vérifier la présence d'un fichier sur un serveur distant


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 34
    Points : 25
    Points
    25
    Par défaut vérifier la présence d'un fichier sur un serveur distant
    Bonjour,

    je me tourne vers vous afin de trouver une solution à mon problème car celà fait deux jours que je cherche et tes en vain.

    Je souhaiterais simplement tester sur un serveur de données distant (172.X.X.X) la présence de deux fichiers dans un répertoire particulier.

    Quelqu'un saurait-il comment faire ou aurait-il une piste ?

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut une solution, surement pas la meilleurs
    Bonsoir, j'ai trouvé cela rapidement, mais ce ne doit pas être une bonne solution ( il faudrait surement passer par une fonction ftp, si tu as les log ),
    je pense que la fonction file_get_contents demande au serveur de lire entièrement le fichier avant d'avoir une réponse, et non de savoir simplement s'il existe...

    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
     
    <?php
    $filename = 'http://www.developpez.net/template/images/logo.gif';
     
    if ( @file_get_contents ($filename ) == false ){
     
        echo "le fichier ".$filename ." n'existe pas" ;
    }
    else{
        echo "le fichier ".$filename ." existe" ;
    }
    $filename = 'http://www.developpez.net/template/images/toto.gif';
     
    if ( @file_get_contents ($filename ) == false ){
     
        echo "le fichier ".$filename ." n'existe pas" ;
    }
    else{
        echo "le fichier ".$filename ." existe" ;
    }
    ?>
    il doit y avoir beaucoup plus "propre" ( sans évacuer le message d'erreur par un @ , etc ) , mais là comme ca je ne sais pas.

    le meilleur moyen étant pour moi de mettre le script de test sur ton serveur distant , tout simplement.

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Citation Envoyé par ascito Voir le message
    je pense que la fonction file_get_contents demande au serveur de lire entièrement le fichier
    Oui c'est sa fonction.

    Pour simplement tester l'existence d'un fichier ou d'une URL (si c'est de ça qu'il s'agit) on peut simplement tenter de l'ouvrir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function Url_exists($url)
    {
    	 $handle = @fopen($url, "r");
    	 if ($handle === false) return false;
    	 fclose($handle);
    	 return true;
    }
     
    if (Url_exists('http://www.developpez.net/forums/')) echo 'yes'; else echo 'no';
    Maintenant c'est du "vieux code" (quand même plus performant qu'un file_get_contents qui lit le fichier en plus de l'ouvrir) et peut être qu'une nouvelle fonction php5 que j'aurais zappée peut faire encore mieux.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 34
    Points : 25
    Points
    25
    Par défaut
    Merci pour vos réponses.

    Toute fois j'avais déjà testé ces solutions mais celle-ci ne fonctionnent pas dans mon cas. En effet, le fichier se trouve sur un serveur de données interne et je n'est pas d'accès par une url de type http mais via un lien \\172.X.X.X\MonDossier\MonFichier.txt

    La solution FTP est fonctionnel, mais le serveur distant ne nous appartenant pas en intégralité et je dois contacter la société le gérant afinde savoir si un ftp peut être créé pour les dossiers auxquels j'ai besoin d'accéder.

    Je reste ouvert pour tout autres conseils

Discussions similaires

  1. [Batch] Vérifier la présence d'un fichier sur un serveur
    Par mu@dib dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 04/07/2011, 06h34
  2. Réponses: 1
    Dernier message: 02/03/2011, 13h30
  3. Réponses: 7
    Dernier message: 03/10/2008, 17h39
  4. Réponses: 0
    Dernier message: 18/01/2008, 11h48
  5. récupérer un fichier sur un serveur distant
    Par Phiss dans le forum ASP
    Réponses: 7
    Dernier message: 17/05/2006, 18h02

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