filemtime возвращает значения мусора в php - PullRequest
0 голосов
/ 26 июня 2019

Я работаю над кодом php, как показано ниже:

 $src_dir = ('\\\INVEST-ST-001\test\podcast\incoming_folder'); 

 $mp4_files = preg_grep('~\.(mp4)$~', scandir($src_dir));     

 $file = $mp4_files[$key];

 print_r($file);                      // Line A

 echo date("F d Y", filemtime("$file")); echo "\t"; echo date("H:i:s", filemtime("$file"));  // Line D

Строка A возвращает следующие значения:

 36031P.mp4  hello.mp4

Указанные выше 2 файла помещены в входящую папку.Даты последнего изменения для указанных выше двух файлов:

1/05/2019 2:56 PM   

30/04/2019 10:21 AM

Я использовал строку D, чтобы вернуть дату последнего изменения на веб-странице, но вместо фактических дат, указанных выше, я получаю следующие даты мусора:

December 31 1969 19:00:00

December 31 1969 19:00:00

Постановка проблемы:

Мне интересно, какие изменения я должен внести в строку D, чтобы она вернула Дата последнего изменения для вышеуказанного2 файла.

1 Ответ

1 голос
/ 26 июня 2019

Очевидно, что мои комментарии не являются достаточными.Я объясню это лучше.Итак, вам нужно, чтобы имя файла включало путь, иначе filemtime завершится неудачей, поскольку файл не существует.

Какое значение имеет смысл передать этой функции?

\\\INVEST-ST-001\test\podcast\incoming_folder\file1.mp3ИЛИ file1.mp3?«Текущий рабочий каталог», вероятно, является тем местом, из которого выполняется PHP-скрипт, который отличается от пути, по которому вы сканировали имена файлов.

В основном вы можете решить эту проблему, повторно добавив путь к имени файла.

$src_dir = ('\\\INVEST-ST-001\test\podcast\incoming_folder'); 

$mp4_files = preg_grep('~\.(mp4)$~', scandir($src_dir));     

$fullFileName = $src_dir . DIRECTORY_SEPARATOR . $mp4_files[$key];

echo date("F d Y", filemtime($fullFileName)); 
echo "\t"; echo date("H:i:s", filemtime($fullFileName));  // Line D

...