PHP中的现有文件编辑器?

时间:2011-10-07 01:11:11

标签: php

是否有任何现有的PHP代码可以让我从浏览器编辑和保存文件?

Ex:页面上的文本区域sit​​e.com/edit.php会保存到指定的文件中吗?我希望能够动态编辑文件。

我在XAMPP上托管该网站,似乎无法使FTP工作,所以如果我需要编辑文件并且无法访问托管计算机,这将是一个很大的用途。

这是我发现的最接近我需要的东西,但似乎无法让它发挥作用(目标是改变'change.php'):

<?php
  if ($changefile) {
     $slash = stripslashes($_POST['filetest']);
     $filetochange = "change.php";
     $filetochangeOpen = fopen($filetochange,"w") or die ("Error editing.");
     fputs($filetochangeOpen,$slash);
     fclose($filetochangeOpen) or die ("Error Closing File!");
     }
?>
<form method=post action="">

<textarea rows="40" cols="60" name="filetest">
<?
// Implode CSS
$filetochange = "change.php";
print (implode("",file($filetochange)));
?>
</textarea><br />

<br />
<input type="submit" value="Change File" name="changefile">
</form>

1 个答案:

答案 0 :(得分:2)

www-data必须拥有文件的写入权限,否则无效。小心这个。限制访问您自己的IP(如您所说)或使用SSL放入受密码保护的文件夹。

<?php

$file = $_POST['file'];
$script = $_POST['script'];
      if($file&&$script) {
      $fp=fopen($file, "w");
      fwrite($fp,$script);
      fclose($fp);
   }
?>
<form method="post">
<?php
   if($file) {
?>
<textarea style="height: 90%; width: 100%;" name="script">
<?php
   $fp=fopen($file,"r");
   $t="";
   while(!feof($fp)) {
      $t.=fread($fp,1024);
   }
   fclose($fp);
   print $t;
?>
</textarea>
<input type="hidden" name="file" value="<?=$file;?>">
<?php
   }
   else
   {
?>
Name of file: <input type="text" name="file"><br />
<?php
    }
?>
<br />
<input type="submit">
</form>