2014-02-08 107 views
0

的index.phpPHP文本編輯器

 <h1>View text files in a directory</h1> 

     <form action="" method="POST"> 
     Directory name: <input name="folderName4" type="text" required="required"> <br> 
     <input type="submit" value="View Directories Text Files"> 
     </form> 

     <br> 

     <?php 
     if (isset($_POST['folderName4'])){ 
     $foldername = $_POST["folderName4"]; 

     $directory = "upload"."/".$foldername."/";; 

     $files = glob($directory . "*.txt"); 

     foreach($files as $file) 
     { 
     echo "<a href=edit.php>".$file."</a>"; 
     echo "<br>"; 
     } 
     } 
     ?> 

edit.php

<?php 

$url = 'http://127.0.0.1/ccb/edit.php'; 

$file = ; 

if (isset($_POST['text'])) 
{ 
    file_put_contents($file, $_POST['text']); 

    // redirect to the form, avoids refresh warnings from the browser 
    header(sprintf('Location: %s', $url)); 
    printf('<a href="%s">Moved</a>.', htmlspecialchars($url)); 
    exit(); 
} 

$text = file_get_contents($file); 

?> 

<form action="" method="post"> 
<textarea name="text"><?php echo htmlspecialchars($text) ?></textarea> 
<input type="submit"> 
</form> 

好了,所以index.php文件列出的目錄中的鏈接和edit.php編輯文本文件中的所有文本文件。 edit.php中的$ file變量是文本文件的路徑,我將如何使路徑與鏈接中的文本一旦被點擊相同?這個想法是,一旦文本文件鏈接被點擊,它將在編輯器中打開。任何幫助將不勝感激,謝謝。

+0

怎麼樣把它的查詢字符串?將它作爲GET參數發送將是最簡單的方法。 ('echo「".$file."」;')。首先我會考慮這個過程中的安全問題。 – jtheman

+0

沒有真正擔心安全。該代碼是爲大學任務。我自己對PHP很陌生。謝謝您的幫助。 – ech0

回答

0

不確定這是否是您正在嘗試做的......但是我會使用?file = $文件將文件名添加到URL中,該文件將URL中的數據作爲GET實體傳遞如下編輯,從edit.php文件調用。

的index.php

<form action="" method="POST"> 
    Directory name: <input name="folderName4" type="text" required="required"> <br> 
    <input type="submit" value="View Directories Text Files"> 
    </form> 

    <br> 

    <?php 
    if (isset($_POST['folderName4'])){ 
    $foldername = $_POST["folderName4"]; 

    $directory = "upload"."/".$foldername."/";; 

    $files = glob($directory . "*.txt"); 

    foreach($files as $file) 
    { 
    echo "<a href='edit.php?file=".$file."'>".$file."</a>"; // <-- Filename part of URL 
    echo "<br>"; 
    } 
    } 
    ?> 

edit.php

<?php 

$url = 'http://127.0.0.1/ccb/edit.php'; 

$file = $_GET['file']; // <-- Inserted GET here 

if (isset($_POST['text'])) 
{ 
    file_put_contents($file, $_POST['text']); 

    // redirect to the form, avoids refresh warnings from the browser 
    header(sprintf('Location: %s', $url)); 
    printf('<a href="%s">Moved</a>.', htmlspecialchars($url)); 
    exit(); 
} 

$text = file_get_contents($file); 

?> 

<form action="" method="post"> 
<textarea name="text"><?php echo htmlspecialchars($text) ?></textarea> 
<input type="submit"> 
</form> 
+0

這正是我想要做的。謝謝。 – ech0

+0

歡迎您,很高興我能幫到您! – Kai

+0

我想urlencode的文件名,以防萬一'urlencode($文件)'然後urldecode它回到edit.php http://se1.php.net/urlencode – jtheman