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 :

[FTP] Comment tester si un dossier existe sur un ftp ?


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Février 2004
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 279
    Points : 164
    Points
    164
    Par défaut [FTP] Comment tester si un dossier existe sur un ftp ?
    Salut a tous,

    Comment faites vous pour tester si un dossier existe sur un ftp?

    Comment faites vous pour savoir si c'est un fichier ou un dossier?

    Merci d'avance
    Speedphp

  2. #2
    Membre actif Avatar de Gaara-Manga
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Avril 2007
    Messages : 247
    Points : 239
    Points
    239
    Par défaut
    Pour les fichiers :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
     
    if (file_exists("/chemin/fichier.txt")) {
       echo "Le fichier existe";
    } else {
       echo "Le fichier n'existe pas";
    }
    ?>
    Pour le dossier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    if(dirname("/repertoire"))
    {
    echo "Repertoire existe";
    }else{
    echo "Repertoire n'existe pas";
    }
    ?>

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    Salut,

    Je liste le répertoire, je parse la réponse, je regarde si la réponse contient le dossier.

    Code Le strict minimum : 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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    class MyFTP
    {
     
    	const Fichier 		= 0;
    	const Repertoire 	= 1;
    	const Lien 			= 2;
     
    	public static function get_type($perms)
    	{
    	            if (substr($perms, 0, 1) == "d")
    		{
    			return self::Repertoire;
    		}
    		elseif (substr($perms, 0, 1) == "l")
    		{
    			return self::Lien;
    		}
    		else
    		{
    			return self::Fichier;
    		}
    	}
     
     
    	public static function rawlist( $directory , $recursive = false )
    	{
    		$list 	= ftp_rawlist ( self::$instance, $directory , $recursive );
    		$retour = array();
     
    		if ( is_array($list) )
    		{
    			foreach ($list as $f)
    			{
    				$struc 		= array();
    				$current 	= preg_split("/[\s]+/",$f,9);
     
    				$struc['perms']		= $current[0];
    				$struc['number']	= $current[1];
    				$struc['owner']    	= $current[2];
    				$struc['group']		= $current[3];
    				$struc['month']		= $current[5];
    				$struc['day']		= $current[6];
    				$struc['time']		= $current[7];
    				$struc['name']		= str_replace('//','',$current[8]);
    				$struc['raw']		= $f;
    				$struc['type']		= self::get_type($struc['perms']);
     
    				$retour[] = $struc;
    			}
    		}
     
     
    		return $retour;
    	}
     
    	public static function is_dir( $directory )
    	{
    		$file 		= basename ($directory);
    		$directory 	= dirname ($directory);
     
    		$fichiers = self::rawlist( $directory );
     
    		foreach( $fichiers as $f )
    		{
    			if( $f['name'] == $file )
    			{
    				return ($f['type']==self::Repertoire);
    			}
    		}
     
    		return false;
    	}
    }

    bye

  4. #4
    Membre habitué
    Inscrit en
    Février 2004
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 279
    Points : 164
    Points
    164
    Par défaut
    J'ai testé :

    if(dirname("/villa/maison"))
    => un dossier qui n'existe pas du tout sur mon ftp et il me renvoi :
    /villa/
    donc en fait il coupe juste la chaine, si cela n'existe pas bahh il ne le dit pas.

    Et kaymac toi tu fais :
    if (substr($perms, 0, 1) == "d") donc le nom de ton fichier t'aide...

    JE suis revenue au point de départ.

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    CE n'est pas le nom, mais les permissions, dans lesquels sont indiqué le type de fichier qu'il s'agit.
    Perso c'est une méthode pleinement fonctionnel. Après c'est toi qui voit.

  6. #6
    Membre habitué
    Inscrit en
    Février 2004
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 279
    Points : 164
    Points
    164
    Par défaut
    Coool merci
    Je vais l'utilisé
    J'avais mal lu

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

Discussions similaires

  1. comment tester qu'un fichier existe bien
    Par adilou1981 dans le forum Langage
    Réponses: 2
    Dernier message: 05/06/2007, 09h57
  2. [C#][2.0] Comment tester si un fichier existe?
    Par just1980 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 08/12/2006, 12h22
  3. Tester si un id existe sur la page.
    Par Death83 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/07/2006, 22h51
  4. Comment tester si un dossier existe ou pas?
    Par Hamdi Hedhili dans le forum C++
    Réponses: 2
    Dernier message: 06/12/2005, 09h44
  5. [FTP] Comment tester un fichier distant ?
    Par Shrieker dans le forum Langage
    Réponses: 4
    Dernier message: 28/11/2005, 14h44

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