0

当用户登陆页面时,我想将有关其浏览器/ip/位置的一些信息写入文件。
在文件的顶部,我有一些 PHP 代码来检查我的 cookie,如果我是管理员,我会将文件的内容回显到页面,这样我就可以看到访问者数据列表(使用 file_get_contents)。我将创建一个函数,在某个时候将数据显示在表格中。

我很想在设置了 FILE_APPEND 标志的情况下使用 file_put_contents,因为它看起来很容易使用。读写文件会不会有文件权限冲突,如果有,fopen/fwrite如何避免这种冲突?

4

1 回答 1

0

fopen / fwrite 不要避免文件权限冲突。file_put_contents 在某种程度上正在使用 fopen / fwrite。他们只是要求内核打开一些文件进行读/写/附加,内核说是或否。如果内核说不,它会给出一些理由,比如没有权限。

您使用 fopen / fwrite 的程序由某些用户和组运行。如果文件用户和/或组权限允许您的进程 fopen / fwrite,那么您可以。如果不是,那么您会收到无权限错误。

最简单的做法是将文件中的用户/组设置为运行 PHP 程序的用户/组。这很可能是您的 Web 服务器正在使用的用户/组,但不必在每个设置中都有。

您也可以考虑先使用is_readableandis_writable来检查权限。

于 2013-08-11T16:56:55.573 回答