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'existance d'un fichier sur un serveur distant


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 116
    Points : 55
    Points
    55
    Par défaut tester l'existance d'un fichier sur un serveur distant
    Bonjour
    ma question est :
    comment verifier l'existance d'un fichier mp3 sur le serveur distant.
    J'utilise une connexion ftp.
    Merci

  2. #2
    Membre actif Avatar de Legenyes
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 174
    Points : 207
    Points
    207
    Par défaut
    Si ton serveur est accessible en http,
    regarde peut etre du coté de file_get_contents()
    http://www.anaprosy.be - Solution et réalisation informatique

  3. #3
    Membre éprouvé
    Avatar de Gecko
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Décembre 2008
    Messages
    499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Décembre 2008
    Messages : 499
    Points : 1 277
    Points
    1 277
    Par défaut
    Tu as une fonction assez simple qui existe. Elle n'est pas native, un jour peut être

    remote_file_exist(); te permet de vérifier la disponibilité d'un fichier distant en contournant les restrictions habituelles rencontrées chez les hébergeurs.

    Code php : 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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    function remote_file_exists ($url)
    {
     
    /*
       Return error codes:
       1 = Invalid URL host
       2 = Unable to connect to remote host
    */   
     
       $head = "";
       $url_p = parse_url ($url);
     
       if (isset ($url_p["host"]))
       { $host = $url_p["host"]; }
       else
       { return 1; }
     
       if (isset ($url_p["path"]))
       { $path = $url_p["path"]; }
       else
       { $path = ""; }
     
       $fp = fsockopen ($host, 80, $errno, $errstr, 20);
       if (!$fp)
       { return 2; }
       else
       {
           $parse = parse_url($url);
           $host = $parse['host'];
     
           fputs($fp, "HEAD ".$url." HTTP/1.1\r\n");
           fputs($fp, "HOST: ".$host."\r\n");
           fputs($fp, "Connection: close\r\n\r\n");
           $headers = "";
           while (!feof ($fp))
           { $headers .= fgets ($fp, 128); }
       }
       fclose ($fp);
       $arr_headers = explode("\n", $headers);
       $return = false;
       if (isset ($arr_headers[0]))
       { $return = strpos ($arr_headers[0], "404") === false; }
       return $return;
    }

    Pour l'utiliser :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $url = "http://www.google.it/intl/it_it/images/logo.gif";
    if (remote_file_exists ($url))
    { print ($url . " file exists!"); }
    else
    { print ($url . " file doesn't exist!"); }

    Si tu veux d'autres fonctions du même type selon tes besoins rend toi sur le site officiel ( http://www.php.net ). Regarde du côté des fonctions utilisées dans celle que je t'ai mis au dessus.

    Tu devrais trouver ton bonheur
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($toBe || !$toBe) echo 'That is the question';

    Mes projets: DVP I/O

  4. #4
    Membre actif Avatar de Korri
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2008
    Messages : 158
    Points : 232
    Points
    232
    Par défaut
    Sinon si tu utilise une connexion FTP comme tu semble le dire, tu devrais regarder ici : http://php.net/manual/fr/book.ftp.php

    Dans ton cas j'utiliserais la fonction ftp_nlist pour récupérer la liste des fichiers puis la fonction in_array pour vérifier si le nom de ton fichier figure dans la liste.
    • Quand la discutions est terminée, cliquez sur , Pensez y !
    • Vous voyez un message pertinent et de qualité ? Votez pour ce message !

Discussions similaires

  1. [2008R2] Tester l'existence d'un fichier sur un support physique
    Par Papy214 dans le forum Développement
    Réponses: 3
    Dernier message: 27/03/2015, 14h06
  2. Tester l'existence d'un fichier sur ftp
    Par LuckyLuke56 dans le forum Composants VCL
    Réponses: 7
    Dernier message: 04/05/2009, 17h58
  3. Réponses: 17
    Dernier message: 18/08/2006, 13h13
  4. Réponses: 3
    Dernier message: 23/01/2006, 15h40
  5. [FTP] Test de l'existence d'un fichier sur un serveur ftp
    Par lapartdombre dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 01/08/2005, 14h13

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