繁体   English   中英

使用模式检查FTP中文件的可用性

[英]Checking availability of the files in the FTP using pattern

我想检查FTP服务器中文件的可用性。 如果没有退出,则将发送自动化邮件。 对于要在变量中给出的确切文件名,此代码可以正常工作,但是我想使用( % )来显示为: $filename = 'temp%' ,仅匹配百分比前文件名的第一部分。 如何在PHP中使用它?

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

$filename = 'temp%';
// try to check if files exist 
if (!file_exists($filename)) {

    //Sending Email
    $htmlbody ="
    <head>
    ...";
    // ...
}

您必须列出远程文件,并在检索到的列表中查找与您的模式匹配的文件。
请参阅使用PHP glob在FTP服务器上列出文件不起作用


某些 FTP服务器确实允许将通配符直接与Listing命令一起使用。 请参阅带有通配符的FTP目录部分列表 (尽管请注意,它是非标准扩展名,但实际上得到了广泛支持)。

在此类FTP服务器上,这将执行以下操作:

if (empty(ftp_nlist($conn_id, "temp*")))
{
    echo "No such file";
}

如果您的FTP服务器不允许使用通配符,或者您确实想依靠非标准功能,则必须自己过滤文件:

if (empty(preg_grep("/^temp/", ftp_nlist($conn_id, ""))))
{
    echo "No such file";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM