Lister fichiers d'un serveur FTP avec date
arthezius
Messages postés
3756
Statut
Membre
-
Fallentree Messages postés 2445 Statut Membre -
Fallentree Messages postés 2445 Statut Membre -
Bonjour,
Je cherche à lister des fichiers d'un serveur FTP et d'afficher la date du fichier (dernière modif) en PHP.
J'arrive à lister les fichiers.
J'arrive à récupérer la date.
Pour lister les fichiers, je peux utiliser la fonction ftp_nlist() ou la fonction ftp_rawlist().
Pour récupérer la date, je peux exploiter le résultat de la fonction ftp_rawlist() ou utiliser la fonction ftp_mdtm().
Le problème:
- ftp_mdtm ralentis vachement la traitement de ma page (environ 500 résultats à afficher),
- ftp_rawlist n'est pas fiable pour récupérer la date.
Les résultats sont du type:
-rw-r--r-- 1 ftp ftp 4715946 Feb 08 2012 xxxxxxxxxx
-rw-r--r-- 1 ftp ftp 292207 May 24 16:35 xxxxxxxxxx
Un coup j'ai la date, un coup j'ai heure. Je ne peux donc pas exploiter correctement ces données.
Avez-vous une idée pour faire correctement ce que je veux sans surcharger le traitement?
Merci par avance.
--
« La recherche commence là où s'arrête la connaissance. »
Je cherche à lister des fichiers d'un serveur FTP et d'afficher la date du fichier (dernière modif) en PHP.
J'arrive à lister les fichiers.
J'arrive à récupérer la date.
Pour lister les fichiers, je peux utiliser la fonction ftp_nlist() ou la fonction ftp_rawlist().
Pour récupérer la date, je peux exploiter le résultat de la fonction ftp_rawlist() ou utiliser la fonction ftp_mdtm().
Le problème:
- ftp_mdtm ralentis vachement la traitement de ma page (environ 500 résultats à afficher),
- ftp_rawlist n'est pas fiable pour récupérer la date.
Les résultats sont du type:
-rw-r--r-- 1 ftp ftp 4715946 Feb 08 2012 xxxxxxxxxx
-rw-r--r-- 1 ftp ftp 292207 May 24 16:35 xxxxxxxxxx
Un coup j'ai la date, un coup j'ai heure. Je ne peux donc pas exploiter correctement ces données.
Avez-vous une idée pour faire correctement ce que je veux sans surcharger le traitement?
Merci par avance.
--
« La recherche commence là où s'arrête la connaissance. »
1 réponse
-
Bonjour,
Avec une notion de separateur ...
"retrour ftp = lign "
tab=Explode(lign," ");
puis tu regroupes les colonnes de date ...-
Je suis pas sur d'avoir bien compris ce que tu essai de me dire.
Peux-tu être plus précis?
D'après ce que je comprends, tu es dans le cas où j'utilise la fonction ftp_rawlist().
Ton explode me permet de séparer les données.
J'ai déjà essayé avec cette ligne de code:$filedata = preg_split("#[\s]+#", $fichier);
($fichier étant une ligne retourné par ftp_rawlist() )
Toutefois, ftp_rawlist() me retourne ça:-rw-r--r-- 1 ftp ftp 4715946 Feb 08 2012 xxxxxxxxxx -rw-r--r-- 1 ftp ftp 292207 May 24 16:35 xxxxxxxxxx
Un coup j'ai l'heure du fichier (et pas l'année), l'autre j'ai l'année (et pas l'heure).
Je ne peux donc pas exploité ces données. -
<?php echo "<hr>"; $file_attribut = "-rw-r--r-- 1 ftp ftp 4715946 Feb 08 2012 xxxxxxxxxx"; $attribut = explode(" ", $file_attribut); print_r($attribut); if (strstr($attribut[7],':')) echo 'y a une heure'; else echo 'y a une année'; echo "<hr>"; $file_attribut = "-rw-r--r-- 1 ftp ftp 292207 May 24 16:35 xxxxxxxxxx "; $attribut = explode(" ", $file_attribut); print_r($attribut); if (strstr($attribut[7],':')) echo 'y a une heure'; else echo 'y a une année'; echo "<hr>"; ?> -
ça peut peut être aidé » https://cyberzoide.developpez.com/php4/file/
-
-
@Fallentree: Merci d'avoir pris le temps de me répondre mais justement, c'est l'année que je souhaite récupérer. Désolé, je suis fautif, j'ai oublié de préciser ce point précis dès le départ.
En fait, je souhaite au final récupérer la date sous la forme jj/mm/aaaa.
Dans ce cas:-rw-r--r-- 1 ftp ftp 4715946 Feb 08 2012 xxxxxxxxxx
Je n'ai aucun problème.
Par contre:-rw-r--r-- 1 ftp ftp 292207 May 24 16:35 xxxxxxxxxx
Là souci!
D'où ma question de départ (qui semblera peut-être plus pertinente maintenant).
-