Проверка доступности файлов в FTP с использованием шаблона - PullRequest
0 голосов
/ 27 мая 2018

Я хочу проверить наличие файлов на 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>
    ...";
    // ...
}

1 Ответ

0 голосов
/ 28 мая 2018

Вам нужно составить список удаленных файлов и просканировать полученный список на наличие файлов, соответствующих вашему шаблону.
См. Вывод списка файлов на FTP-сервер с использованием PHP-глобуса не работает .


Некоторые FTP-серверы разрешают использовать подстановочный знак непосредственно с командой листинга.См. Частичный список каталогов 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";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...