Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.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文件操作_Php_File_Fopen_Fwrite_Chmod - Fatal编程技术网

PHP文件操作

PHP文件操作,php,file,fopen,fwrite,chmod,Php,File,Fopen,Fwrite,Chmod,我尝试取消链接以删除文本文件,但也失败了 当我手动删除文本文件,然后将文件权限设置为777时,上述代码起作用 任何帮助都应该感谢 该脚本由root所有,仅可由所有者写入。这意味着除了root之外,没有其他人可以更改其权限。您必须sudo chown或sudo chmod并手动更改文件的所有者或权限。如果您对该文件或其目录没有足够的权限开始,则无法chmod文件。事先通过FTP/SSH执行此操作。另外,为了简洁起见,file\u put\u contents()。您的Web服务器可能不是以root

我尝试取消链接以删除文本文件,但也失败了

当我手动删除文本文件,然后将文件权限设置为777时,上述代码起作用


任何帮助都应该感谢

该脚本由
root
所有,仅可由所有者写入。这意味着除了
root
之外,没有其他人可以更改其权限。您必须
sudo chown
sudo chmod
并手动更改文件的所有者或权限。

如果您对该文件或其目录没有足够的权限开始,则无法
chmod
文件。事先通过FTP/SSH执行此操作。另外,为了简洁起见,
file\u put\u contents()
。您的Web服务器可能不是以root用户身份运行的,root用户是唯一具有写入权限的用户。为什么要将密码明文存储在txt文件中?如果手动删除该文件,然后运行此脚本,谁对password.txt有权限?@landons实际上脚本所有者并不重要。PHP必须在命令行上以root用户身份运行,或者apache必须在root用户下运行才能写入文件。脚本所有者与脚本权限或运行脚本的帐户无关。@landons我假设PHP不是以root身份运行的。这太疯狂了。我误解了你说的“脚本归root所有”
<?
if(isset($_POST['Submit']))
{
   $password=$_POST['newpwd'];
   if(!empty($password))
   {
    $old_file = "password.txt";
    chmod($old_file,0777);
    $fh = fopen($old_file, 'w') or die("Can't open file");
    fwrite($fh,$password);
    fclose($fh);
    header("location:index.php");
  }
  else
  {
    echo "Please enter a valid password!";
  }
}
?>
-rwxr-xr-x 1 root root    4 Mar  5 13:55 password.txt