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
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
Pour les fichiers :
Pour le dossier :
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"; } ?>
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"; } ?>
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
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.
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.
Coool merci
Je vais l'utilisé
J'avais mal lu
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager