Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP检查符号链接文件的历史_Php_Symlink - Fatal编程技术网

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));
}