2011-10-07 73 views
0

是否有任何現有的PHP代碼,允許我編輯和保存瀏覽器中的文件?PHP中現有的文件編輯器?

例如: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

想知道爲什麼人們不斷尋找一種方式來打破他們的項目,並把更多的安全漏洞。 – zerkms

+0

典型的mod_php安裝程序無法獲得腳本修改現有文件的權限。 – mario

+0

這就是所謂的PHP外殼或文件管理器。谷歌爲它。經常被餅乾使用。 – hakre

回答

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>