gpt4 book ai didi

php - 执行 ("touch");不在 PHP 中运行

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:11:10 25 4
gpt4 key购买 nike

我需要使用我的 php 脚本修改文件日期更改。在我的本地主机上,我使用了在 Windows 7 中运行的 XAMPP。我使用 PHP 没有问题 touch并且按照我的意愿正常工作。

然而,当我将它上传到我的产品时,LINUX 操作系统 PHP touch 不再工作了。我对其进行了调查,发现 Linux 不允许 PHP touch 或不允许任何人更改文件修改日期。

这就是我使用 exec("touch filename.txt") 的原因相反,它工作正常,但是当我使用这段代码时

exec("touch -t 201204040000.00 filename.txt");

它没有做它必须做的事,我是不是漏掉了什么?

这些是我的引用资料:

编辑

ls -l filename.txt
-rw-r--r-- 1 2012-11-04 12:00 filename.txt //supposed that 2012-11-04 12:00 is the original mod date of the file

如果我运行这段代码:

exec("touch filename.txt");
ls -l filename.txt
-rw-r--r-- 1 2012-11-05 11:00 filename.txt //supposed that 2012-11-05 11:00 is the current timestamp

如大家所见,上面的代码在我身上运行正常。但是如果我这样运行它:

exec("touch -t 201204040000.00 filename.txt");
ls -l filename.txt
-rw-r--r-- 1 2012-11-05 11:00 filename.txt //The mod date doesn't changed at all.

最佳答案

我运行了你的命令,它确实做了它应该做的事情:

php -r 'exec("touch -t 201204040000.00 filename.txt");'
ls -l filename.txt
-rw-r--r-- 1 2012-04-04 00:00 filename.txt

也许如果您告诉我们您的期望,我们可以为您提供更多帮助。

关于php - 执行 ("touch");不在 PHP 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13228974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com