salut tous le monde
j'ai un probléme qui me géne c'est que je ne sais pas comment chercher des fichiers x.jpg dans un espace ftp par un script php
aidez moi svp
salut tous le monde
j'ai un probléme qui me géne c'est que je ne sais pas comment chercher des fichiers x.jpg dans un espace ftp par un script php
aidez moi svp
Tu as ceci : Comment lister les fichiers et dossiers triés par ordre lexicographique ?
Et la fonction utilisée dans cette Q/R pour faire des recherches spécifiques selon l'extension :
Comment savoir si un dossier est vide ?
Comment supprimer massivement des fichiers ?
merci pour les liens Mr Kerod
le probléme c'est que je dois faire un script pour qu'il puiss démarrer une recherche das fichiers *.jpg dans un site FTP et les lister dans une liste déroulante. comment faire et merci en avance pour votre aide.
Hummm oui je vois donc oublies les sujets données car il va falloir utiliser les fonctions ftp et les regexp (peut etre qu'il y a plus simple).
Je suppose pour ce qui est de la connexion, il y a aucun problème.
Pour récupérer la liste détaillé des fichiers sur le ftp, tu dois utiliser la fonction ftp_nlist qui te renvoie un tableau contenant le nom du fichier (donc extension) puis les infos sur celui-ci (taille, date et etc...)
Un fois que tu as ce tableau, tu n'as plus qu'à utiliser la regexp (magique, non ?? ). Pour celle-ci, je pense que ceci devrait faire l'affaire :
ou carrément voir celle disponible ici : Comment tester l'extension d'un fichier ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part eregi("#\.jpg#", $liste[$i])
ps : à savoir que $liste[$i] est le tableau renvoyer par ftp_nlist
voila j'ai fait ce code mais il déclare un erreur:
le message d'erreur c'est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php $ftp_server='*******************'; $ftp_user_name='****'; $ftp_user_pass='****'; // Mise en place d'une connexion basique $conn_id = ftp_connect($ftp_server); // Identification avec un nom d'utilisateur et un mot de passe $login_result = ftp_login($conn_id,$ftp_user_name,$ftp_user_pass); // Récupération du contenu d'un dossier $contents = ftp_nlist($conn_id, "/mypr"); // Affichage de $contents var_dump($contents); ?>
Fatal error: Maximum execution time of 30 seconds exceeded in c:\apache\htdocs\testing\esai.php on line 12
Ce qui serait bien, ce serait de donner la ligne qui a l'erreur...Sinon penses à mettre un set_timeout
Une erreur de port ? La fonction ftp_connect prend aussi un paramètre timeout (que l'on peut aussi fixer avec ftp_set_option) car par défaut il est de 90 secondes .
Julp.
j'ai ajouter le time out:
et voici le resultat :
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 <?php $ftp_server='*************'; $ftp_user_name='******'; $ftp_user_pass='*******'; // Mise en place d'une connexion basique $conn_id = ftp_connect($ftp_server,,10); ftp_set_option($conn_id, FTP_TIMEOUT_SEC, 10); // Identification avec un nom d'utilisateur et un mot de passe $login_result = ftp_login($conn_id,$ftp_user_name,$ftp_user_pass); // Récupération du contenu d'un dossier $contents = ftp_nlist($conn_id, "/mypr"); // Affichage de $contents var_dump($contents); ?>
Parse error: parse error in c:\apache\htdocs\testing\esai.php on line 6
la ligne n° 6 c'est :$conn_id = ftp_connect($ftp_server,,10);
ya rien entre ,, ?
ftp_connect($ftp_server,???????,10);
pk ne pas mettre le port ?!
car je sais pas c'est quoi le port? merci de me dire c'est quoi?Envoyé par omura
Voici un code qui fonctionne :
Et après il faut tester si le $login_result est ok pour pouvoir faire les traitements que tu souhaites réaliser
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $conn_id = ftp_connect("$ftp_server"); if($conn_id) { @ftp_set_option($conn_id, FTP_TIMEOUT_SEC, 2); // login with username and password $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); }
ps : pour des questions de sécurités évites de mettre tes identifiants ftp ainsi que pass
Merci bien Mr Kerod
j'ai modifié mon code grace au code que vous avais mis et voila:
<?
il ne donne aucun message d'erreur mais il n'affiche que le vide pq?
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 $ftp_server='***********'; $ftp_user_name='******'; $ftp_user_pass='****'; $conn_id = ftp_connect($ftp_server); if($conn_id) { @ftp_set_option($conn_id, FTP_TIMEOUT_SEC, 2); // login with username and password $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); $contents = ftp_nlist($conn_id, "."); // Affichage de $contents var_dump($contents); } ?>
Testes avec ce code et dis moi si l'identification est correcte...Sinon tu as au moins des fichiers sur ton ftp
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
22
23 <? $ftp_server='***********'; $ftp_user_name='******'; $ftp_user_pass='****'; $conn_id = ftp_connect($ftp_server); if($conn_id) { @ftp_set_option($conn_id, FTP_TIMEOUT_SEC, 2); // login with username and password $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); if($login_result) { $contents = ftp_nlist($conn_id, "."); // Affichage de $contents var_dump($contents); } else { echo "identification impossible"; } } ?>
j'ai écris le code si dessus mais rien n'a changé et pour la question du ftp voici l'image de mon ftpEnvoyé par Kerod
Bon voilà un code que j'avais fait pour un explorateur ftp :
Et ca fonctionnait...Testes
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 if ($conn_id) { echo 'Status : Connecté '; echo '<img src="images/on.gif" alt="connecté"/>'; if(@ftp_chdir($conn_id, $path)) { echo '<tr><th align="left">Nom du fichier</th><th width="12%">Taille</th></tr>'; // Récupère la liste des fichiers de / $liste = @ftp_nlist($conn_id,''); for($i = 0; $i < count($liste); $i++) {// Récupération de la taille du fichier $file $taille = @ftp_size($conn_id, $liste[$i]); echo '<tr><td class="row1"><span class="gen">'.$liste[$i].' </span></td>'; echo '<td align="right" class="row1" nowrap="nowrap"><span class="gen">'.$size.' </span></td></tr>'; } } else { echo "<span class='gen' style='float:right'><b>Dossier inexistant</b></span></td></tr>"; } }
Sinon ca peut venir juste du .
Merci bien Mr Kerod
mais voila ce qu'il affiche
Montres l'intégralité de ton code pour voir
Merci bien Mr Kerod pour votre patiance
voila le code :
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
22
23
24
25
26
27 <? $ftp_server='**********'; $ftp_user_name='******'; $ftp_user_pass='******'; $conn_id = ftp_connect($ftp_server); if ($conn_id) { echo 'Status : Connecté '; echo '<img src="images/on.gif" alt="connecté"/>'; if(@ftp_chdir($conn_id, $path)) { echo '<tr><th align="left">Nom du fichier</th><th width="12%">Taille</th></tr>'; // Récupère la liste des fichiers de / $liste = @ftp_nlist($conn_id,''); for($i = 0; $i < count($liste); $i++) {// Récupération de la taille du fichier $file $taille = @ftp_size($conn_id, $liste[$i]); echo '<tr><td class="row1"><span class="gen">'.$liste[$i].' </span></td>'; echo '<td align="right" class="row1" nowrap="nowrap"><span class="gen">'.$size.' </span></td></tr>'; } } else { echo "<span class='gen' style='float:right'><b>Dossier inexistant</b></span></td></tr>"; } } ?>
bon je vais t'expliquer quelque chose.
Le code que je t'ai donné fonctionnait avec des variables définis plus haut..Par exemple la variable $path est le nom du dossier dans lequel je voulais aller et si je ne l'avais pas choisis c'était la racine par défaut.
Donc on va changer tout ca :
voilà et il faut rajouter le ftp_login et le tester avant
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 <? $ftp_server='**********'; $ftp_user_name='******'; $ftp_user_pass='******'; $conn_id = ftp_connect($ftp_server); if ($conn_id) { echo 'Status : Connecté '; echo '<img src="images/on.gif" alt="connecté"/>'; echo '<tr><th align="left">Nom du fichier</th><th width="12%">Taille</th></tr>'; // Récupère la liste des fichiers de / $liste = @ftp_nlist($conn_id,''); for($i = 0; $i < count($liste); $i++) {// Récupération de la taille du fichier $file $taille = @ftp_size($conn_id, $liste[$i]); echo '<tr><td class="row1"><span class="gen">'.$liste[$i].' </span></td>'; echo '<td align="right" class="row1" nowrap="nowrap"><span class="gen">'.$size.' </span></td></tr>'; } } ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part $liste = @ftp_nlist($conn_id,'');
merci bien Mr kerod
voila le code :
et voila ce qu'il affiche :
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
22
23 <? $ftp_server='------------------'; $ftp_user_name='--------------'; $ftp_user_pass='---------------'; $conn_id = ftp_connect($ftp_server); if ($conn_id){ echo 'Status : Connecté '; echo '<img src="images/on.gif" alt="connecté"/>'; echo '<tr><th align="left">Nom du fichier</th><th width="12%">Taille</th></tr>'; // Récupère la liste des fichiers de / $login_result = ftp_login($conn_id,$ftp_user_name,$ftp_user_pass); if($login_result) { $liste = @ftp_nlist($conn_id,'/mypr'); for($i = 0; $i < count($liste); $i++) {// Récupération de la taille du fichier $file $taille = @ftp_size($conn_id, $liste[$i]); echo '<tr><td class="row1"><span class="gen">'.$liste[$i].' </span></td>'; echo '<td align="right" class="row1" nowrap="nowrap"><span class="gen">'.$size.' </span></td></tr>'; } } } ?>
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