是否有任何现有的PHP代码可以让我从浏览器编辑和保存文件?
Ex:页面上的文本区域site.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>
答案 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>