Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.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可以在_destruct()期间保存到文件中吗_Php_Destroy_File Put Contents - Fatal编程技术网

PHP可以在_destruct()期间保存到文件中吗

PHP可以在_destruct()期间保存到文件中吗,php,destroy,file-put-contents,Php,Destroy,File Put Contents,我想在我的一个类中使用\uu destruct()函数将一些信息保存到服务器上的文件中 但是,每次我尝试在\uu destruct()中使用file\u put\u contents(…),都会出现以下错误: 警告:文件内容(HTMLcache.txt):无法打开流:第141行的/Applications/MAMP/htdocs/time/HJ_Tag.php中的权限被拒绝 file\u put\u contents(…)在我的代码的其他部分工作得很好,在同一个文件中调用它。在\uuu dest

我想在我的一个类中使用
\uu destruct()
函数将一些信息保存到服务器上的文件中

但是,每次我尝试在
\uu destruct()
中使用
file\u put\u contents(…)
,都会出现以下错误:

警告:文件内容(HTMLcache.txt):无法打开流:第141行的/Applications/MAMP/htdocs/time/HJ_Tag.php中的权限被拒绝


file\u put\u contents(…)
在我的代码的其他部分工作得很好,在同一个文件中调用它。在
\uuu destruct()
期间,是什么导致了这个错误,我该如何修复它?

我想你的意思是
\uu destruct()
而不是
\uu destruct()
,所以我编辑了你的帖子

PHP可以在_destruct()期间保存到文件中吗

是的,它可以。 但是,当您将相对文件名与
file\u put\u contents()一起使用时,如下所示:

file_put_contents('hello.txt', 'hello world');
该文件实际上可能是在您不期望的地方创建的,并且您可能没有写入权限, 这解释了错误消息

在我的例子中,它是在
C:\Users\Rei\AppData\Local\VirtualStore
中创建的。 这很奇怪,因为我从未指定过那个目录。 我必须搜索我的整个硬盘才能找到它

要防止出现这种情况,请始终使用绝对文件名。 例如,在文件名之前添加
\uuuuu DIR\uuuu

file_put_contents(__DIR__ . 'hello.txt', 'hello world');

并确保您具有写入权限。

您是否绝对确定它是“完全相同的文件”?在这两种情况下,您使用的是什么文件路径?我想说的是,在垃圾收集期间(当执行
\uu destruct()
时),CWDchanges@Phil是的,很有可能。我在一篇文章中读到了这一点。