Y a-t-il d'autres solutions que ftp_mdtm()
pour obtenir la date/heure de modification du fichier à l'aide des fonctions FTP?PHP ftp_mdtm() ne supporte pas par le serveur?
Répondre
Depuis PHP 5.1, vous pouvez simplement utiliser filemtime()
avec un chemin de fichier ftp://...
valide.
Exemple:
$user = 'peter';
$password = 'secret123';
$mtime = filemtime("ftp://$user:[email protected]/some_file.txt");
Le format d'une sortie de la liste FTP n'a pas été normalisé pour l'analyse de l'ordinateur, donc si vous souhaitez prendre en charge tous les possibles serveurs FTP, vous devez venir avec votre propre analyseur.
Mais commençons par le plus simple: PHP supporte un FTP wrapper. Depuis PHP 5.1, vous pouvez utiliser filemtime()
pour récupérer le fichier de modification d'un fichier distant en utilisant ftp://user:[email protected]/path/file
comme argument.
Vous pouvez également essayer d'utiliser curl_getinfo()
de l'extension PHP cURL.
Si cela ne fonctionne pas parce que votre serveur FTP est AIX, VMS, EBCDIC ou un autre type "exotique", vous pouvez analyser la liste du répertoire manuellement. Tout d'abord, si vous êtes très chanceux, le serveur FTP prend en charge la commande MLST
ou MLSD
. Vous pouvez les publier en utilisant ftp_raw()
en PHP. La sortie est expliquée dans RFC 3659. La date peut facilement être analysée et est retournée en UTC. Si vous avez moins de chance, vous devez revenir à la commande LIST
utilisée par ftp_rawlist()
. Il n'y a pas de standard sur la façon dont la sortie ressemble, vous avez donc besoin d'heuristiques. FileZilla est très bon pour gérer les serveurs FTP hérités. Si vous avez vraiment besoin d'un analyseur et avez un peu de temps, il suffit de porter FileZilla's directory listing parser à PHP.
- 1. Réécrire mail() sur un serveur qui ne supporte pas la fonction mail() de php?
- 2. Police 'Times New Roman' ne supporte pas le style 'Regular'
- 3. Est-ce que flex ne supporte pas les hashmaps?
- 4. L'API Criteria d'Hibernate ne supporte toujours pas les relations imbriquées
- 5. C# BinaryReader "flux ne supporte pas les opérations de recherche"
- 6. Peut mettre en œuvre le serveur buildin dans mon application, qui supporte PHP/ASP?
- 7. ConvincingMail.AdvancedAutoSuggest.dll ne fonctionne pas sur le serveur
- 8. ExecuteScalar ne fonctionne pas sur le serveur
- 9. pourquoi le mode d'authentification = "Formulaires" dans le sous-dossier ne supporte pas?
- 10. Plugin audio WordPress: Afficher le lien mp3 si le navigateur ne supporte pas Flash
- 11. PHP ne reconnaît pas http_get_request_headers()?
- 12. Est-ce que NHibernate HQL ne supporte pas le mot-clé "with"?
- 13. Le serveur NIO ne peut pas écouter le client
- 14. Le fichier ne commence pas par '% PDF-'
- 15. Pourquoi le côté serveur ne comprend-il pas le travail?
- 16. ne peut pas ajouter .php mappage pour php sur iis6 dans un environnement multi-serveur
- 17. Rebol Request-Download ne supporte pas le gros fichier: comment corriger?
- 18. Pourquoi le fournisseur Google OpenID ne fonctionne-t-il pas avec PHP-OpenId sur mon serveur?
- 19. Quelque chose ne va pas avec PHP et Ruby sur le même serveur Apache?
- 20. Portable Emacs? (Le serveur Emacs ne fonctionne pas)
- 21. Test d'une application PHP par un serveur
- 22. Les champs HTTP Post ne sont pas reçus par le script PHP
- 23. PHP ne fonctionne pas correctement
- 24. PHP ne peut pas setcookie()
- 25. Est-ce que IIS supporte ASP.NET et WAMP supportant la coexistence de PHP sur le même serveur?
- 26. Socket PHP ne fonctionne pas
- 27. Dir.glob ne fonctionne pas sur le site hébergé par site5?
- 28. Pourquoi je ne peux pas utiliser mon serveur apache?
- 29. Le client Flash XMLSocket ne se connecte pas au serveur
- 30. Struts2 Sitemesh ne fonctionne pas dans le serveur WAS 6
pls donner un exemple –