【发布时间】:2014-11-26 22:26:46
【问题描述】:
我试图弄清楚如何通过 php 使用特定 (*.opd) 文件通过 ftp 下载文件 延期。目录中还有其他扩展名的文件。
如何扫描目录并检索具有特定扩展名的所有文件?
谢谢!
尼克
【问题讨论】:
-
这里没有问题
我试图弄清楚如何通过 php 使用特定 (*.opd) 文件通过 ftp 下载文件 延期。目录中还有其他扩展名的文件。
如何扫描目录并检索具有特定扩展名的所有文件?
谢谢!
尼克
【问题讨论】:
我没有时间编写代码和测试它,所以这是一个骨架。
使用 PHP 的 FTP extension 检索目录中的文件列表,然后选择您想要的并获取它们...
<?php
// set up basic connection
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// get contents of the current directory
$contents = ftp_nlist($conn_id, ".");
foreach ($contents as $filename) {
if ($filename=='something.opd') { //insert whatever test you want here
ftp_get($conn_id, $filename, $filename, FTP_BINARY)
}
ftp_close($conn_id);
注意:这是不是生产就绪代码。我还没有测试过,至少你需要在这里添加一些错误检查。
【讨论】:
ftp_get() 从 FTP 服务器检索远程文件,并将其保存到本地文件中。
更多信息:
http://php.net/manual/en/function.ftp-get.php
要扫描目录,您可以使用scandir() 并遍历返回的数组,下载与您想要的扩展名匹配的数组。
【讨论】:
scandir(),您可以只使用copy() - 两者都需要ftp: 包装器。如果您使用ftp_get(),您不妨使用ftp_nlist()。