PHP检查符号链接文件的历史
我有一个下载脚本,它正在使用PHP检查符号链接文件的历史,php,symlink,Php,Symlink,我有一个下载脚本,它正在使用symlink()创建指向文件的链接。我正在尝试创建一个脚本来删除链接1小时后。但是,当我尝试使用filemtime()检查文件的年代时,我只得到实际原始(目标)文件的修改时间,而不是符号链接 以下是我当前的代码: $filename = '/var/www/html/files/myfile.rar'; if (file_exists($filename)) { echo "$filename was last modified: " . date ("F
symlink()
创建指向文件的链接。我正在尝试创建一个脚本来删除链接1小时后。但是,当我尝试使用filemtime()
检查文件的年代时,我只得到实际原始(目标)文件的修改时间,而不是符号链接
以下是我当前的代码:
$filename = '/var/www/html/files/myfile.rar';
if (file_exists($filename)) {
echo "$filename was last modified: " . date ("F d Y H:i:s.", filemtime($filename));
}
如何检查实际符号链接而不是文件的上次修改时间?使用PHP函数:
为您提供大量信息,如atime(上次访问)、ctime(创建时间)和mtime(上次修改)。您可能无法获取符号链接的属性。您可以创建一个文件,用于存储有关链接的信息 正确,并将遵循符号链接,但不会 此函数与
stat()
函数相同,只是如果filename参数是符号链接,则返回符号链接的状态,而不是符号链接指向的文件的状态
例如:
<?php
function getSymlinkMtime($symlinkPath)
{
$stat = lstat($symlinkPath);
return isset($stat['mtime']) ? $stat['mtime'] : null;
}
谢谢,这对我来说很有效,尽管你在返回函数中缺少了一个结束括号。
<?php
function getSymlinkMtime($symlinkPath)
{
$stat = lstat($symlinkPath);
return isset($stat['mtime']) ? $stat['mtime'] : null;
}
<?php
$filename = '/var/www/html/files/myfile.rar';
if (file_exists($filename)) {
echo "$filename was last modified: " . date ("F d Y H:i:s.", getSymlinkMtime($filename));
}