php – filemtime找不到文件
作者:互联网
我正在尝试使用filemtime获取上次修改某些文件的日期和时间.不幸的是,这对我的所有文件都失败了.我尝试过使用完整的完整路径(例如www.mysite.com/images/file.png).我尝试过只使用扩展名(例如/images/file.png),还只使用文件名本身(file.png).什么都行不通.如何传递路径引用以便它可以找到我的文件?谢谢!
<br />n<b>Warning</b>: filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for www.mysite.com/images/hills.png in <b>D:\Hosting\11347607\html\mobile\updateImages.php</b> on line <b>20</b><br
这是php脚本:
<?php
include '../scripts/connection.php';
//get information on this location from the database
$sql = "SELECT * FROM types";
$result = mysql_query($sql);
$array = array();
while ($row = mysql_fetch_array($result)) {
$path = $row['path'] . $row['picture_url'];
$last_mod = filemtime($path);
$this_file = array(
'filename' => $row['picture_url'],
'last_mod' => $last_mod
);
$array[$row['type']] = $this_file;
}
echo json_encode(array('result'=>'success', 'message'=>$array));
?>
解决方法:
相对路径根据请求的current working directory进行解析.根据最初收到请求的php文件,这将从请求更改为请求.你需要做的是把它变成一条绝对的道路.
您可以使用几种技术. __DIR__魔术常量是更有用的一个但是对于你的问题,因为你知道它相对于文档根的路径你可以做到这一点.
$last_mod = filemtime($_SERVER["DOCUMENT_ROOT"]."/images/file.png");
这将使用您的Web服务器的文档根目录为您提供解决路径的起点(文件系统路径等同于http://mysite.com URL).
如果要解析相对于使用__DIR__常量的路径的路径,__DIR__非常有用.在早期的php版本中,您可以使用dirname(__ FILE__)来获取相同的值.
标签:php,filemtime 来源: https://codeday.me/bug/20190725/1533400.html