filemtime 在 php 中返回垃圾值

filemtime is returning garbage values in php

我正在编写如下所示的 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 行 return 具有以下值:

 36031P.mp4  hello.mp4

以上2个文件放在incoming_folder里面。上述 2 个文件的最后修改日期为:

1/05/2019 2:56 PM   

30/04/2019 10:21 AM

我已使用 D 行 return 网页上的最后修改日期,但我得到以下垃圾日期而不是上面的实际日期:

December 31 1969 19:00:00

December 31 1969 19:00:00

问题陈述:

我想知道我应该在 D 行进行哪些更改,以便 return 对上述 2 个文件 上次修改日期 是正确的。

显然我的评论还不够。我会更好地解释它。因此,您需要文件名包含路径,否则 filemtime 会失败,因为文件不存在。

将哪个值传递给该函数有意义?

\\INVEST-ST-001\test\podcast\incoming_folder\file1.mp3file1.mp3? "current working directory" 可能是 PHP 脚本执行的地方,它与您扫描文件名的路径不同。

基本上你可以通过 re-appending 文件名的路径来解决这个问题。

$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