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

我正在使用fopen创建一个新文件。</ p>

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

然后我检查文件是否已经 使用: file_exists()</ code>函数创建。</ p>

问题是:文件是用某个所有者创建的,可能是文件夹名称,但不是我。 此外,文件的权限只有可由所有者</ code>读取。
由于我不是所有者,我无法读取文件或更改权限。</ p>

但如果尝试使用以下方法更改它:</ p>

  chown($ filename,'myusername'); 
chmod($ filename,777);
</ code> </ pre>

我尝试使用 sudo </ code>使用终端更改文件所有者和权限。 这很正常。
我也尝试使用上面的函数与 shell_exec()</ code>,所以它在root中运行。</ p>

但没有运气。</ p>

虽然我对文件权限号没有太多经验,但chown命令也无法正常工作。</ p>

那么我应该如何更改所有者和权限 该文件,所以我是所有者,我的其他PHP脚本可读写?</ p>
</ div>

展开原文

原文

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?

dousi6087
dousi6087 正如TimWickstrong所说,你应该在chmod命令中添加一个前导0,但是你也可能没有chmod的权限。尝试$chmoded=chmod($filename,0777);if(!$chmoded){echo“无法更改文件权限”;}}...如果文件权限是777则无需chown。
8 年多之前 回复
doufei1893
doufei1893 我创建一个新的空文件,然后使用fwrite()写入它。文件的权限是:所有者和组:www-data所有者:读取组:执行其他:执行在user_data文件夹中,我是所有者,所有三个人都设置为读取,写入,执行...
8 年多之前 回复
douluan5444
douluan5444 上传文件时(在任何chmod之前),文件的权限是什么,user_data文件夹的权限是什么,谁是指定的所有者?
8 年多之前 回复

1个回答



您应该只能使用以下行chmod它:</ p>

  chmod  ($ filename,0777); 
</ code> </ pre>

注意777之前的0。</ p>

也不要在它之前更改所有权 已被chmod'ed </ p>
</ div>

展开原文

原文

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

dongyan2445
dongyan2445 没问题! 很高兴我能帮助你!
8 年多之前 回复
dongweihuai5601
dongweihuai5601 好吧,这完美地工作了......非常感谢...:D
8 年多之前 回复
dsfsfsfsfs55656
dsfsfsfsfs55656 更多信息可以在这里找到:php.net/manual/en/function.chmod.php
8 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐