fopen 创建文件,但如何更改权限?

发布于 2024-12-23 08:28:00 字数 594 浏览 1 评论 0原文

我正在使用 fopen 创建一个新文件。

$filename = 'user_data/10.xml';
$openhandle = fopen($filename, 'w+');

然后我检查文件是否已使用以下函数创建:file_exists() 函数。

问题是:该文件是由某个所有者(可能是文件夹名称)创建的,但不是我。此外,文件的权限仅所有者可读。 由于我不是所有者,因此我无法读取该文件或更改权限。

但如果尝试使用以下方式更改它:

chown($filename, 'myusername');
chmod($filename, 777);

我尝试使用 sudo 使用终端更改文件所有者和权限。这工作正常。 因此,我还尝试将上面的函数与 shell_exec() 一起使用,以便它在根目录中运行。

但没有运气。

虽然我对文件权限号没有太多经验,但 chown 命令也不起作用。

那么我应该如何更改文件的所有者和权限,以便我是所有者并且它可由我的其他 PHP 脚本读取和写入?

I am creating a new file using fopen.

$filename = 'user_data/10.xml';
$openhandle = fopen($filename, 'w+');

Then I check if the file has been created using: file_exists() function.

The problem is: The file is being created with some owner, probably the folder name, but its not me. Also the permissions of the file is only readable by the owner.
And since I am not the owner, I can't read the file, or change the permissions.

But If attempt to change it using:

chown($filename, 'myusername');
chmod($filename, 777);

I tried changing the file owner and permissions using the Terminal using sudo. That worked properly.
So I also tried using the functions above with shell_exec() so it runs in root.

But had no luck.

Although, I don't have much experience with file permission numbers, the chown command is also not working.

So how should I change the owner and permissions of the file so i'm the owner and its readable and writable by my other PHP scripts?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雨轻弹 2024-12-30 08:28:00

您应该能够仅使用以下行对其进行 chmod:

chmod($filename, 0777);

注意 777 之前的 0。

在 chmod 之前也不要更改所有权

You should be able to chmod it using only the following line:

chmod($filename, 0777);

Note the 0 before the 777.

Also do not change the ownership before it has been chmod'ed

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文