2013-06-02 49 views
0

我有一個腳本,其中列出了目錄中所有的txt文件。我把超鏈接放在每個結果中,我想重定向到一個簡單的編輯器,我有代碼。使用PHP編輯目錄中的文本文件

這是在目錄中列出文件的代碼;

<?php 
//Open directory 
$dir = dir("content"); 
//List files in directory 
while (($file = $dir->read()) !== false){ 
    //Make sure it's a .txt file 
    if(strlen($file) < 5 || substr($file, -4) != '.txt') 
     continue; 

    echo "Page: <a href='content/" .$file. "'>" . $file . "</a><br />"; 
} 

$dir->close(); 
?> 

和代碼編輯文件:

<? 
if($_POST['Submit']){ 
    $open = fopen("content/body.txt","w+"); 
    $text = $_POST['update']; 
    fwrite($open, $text); 
    fclose($open); 
    echo "File updated.<br />"; 
    echo "File:<br />"; 
    $file = file("content/body.txt"); 
    foreach($file as $text) { 
     echo $text."<br />"; 
    } 
}else{ 
    $file = file("content/body.txt"); 
    echo "<form action=\"".$PHP_SELF."\" method=\"post\">"; 
    echo "<textarea Name=\"update\" cols=\"50\" rows=\"10\">"; 
    foreach($file as $text) { 
     echo $text; 
    } 
    echo "</textarea>"; 
    echo "<input name=\"Submit\" type=\"submit\" value=\"Update\" />\n 
    </form>"; 
} 
?> 

什麼,試圖做到這一點的最好方法是什麼?

在此先感謝。

+0

什麼是你的代碼的問題?你卡在哪裏?你問的具體問題是什麼? – PeeHaa

+0

問題不在代碼中,我只想知道是否有方法可以使用目錄列表中文件的超鏈接,然後使用此編輯器腳本編輯它們。 – user2407579

回答

0

我想你的意思是這樣的:

在目錄列表使用

這樣的:

echo "Page: <a href='editor_script.php?filename=".$file."'>".$file."</a><br/>"; 
在編輯器腳本中使用

這樣的:

$open = fopen("content/".$_GET['filename'].".txt","w+"); 

$file = file("content/".$_GET['filename'].".txt"); 

我」不知道,但也許你有從form刪除action

echo '<form method="post">'; 

或使用URL與$_GET['filename']

echo '<form action="editor_script.php?filename='.$_GET['filename'].'" method="post">'; 

也許這個作品太多,但我不知道

echo '<form action="?filename='.$_GET['filename'].'" method="post">'; 
+0

像夢一樣工作,非常感謝。 – user2407579

+0

您可以接受答案;) – furas