2013-05-18 66 views
1

我需要能夠列出目錄中的所有文本文件,然後才能編輯每個單獨的文本文件。每個文本文件只有一行(50個字符)。下面的代碼將列出文本文件和圖像。我只需要編輯文本文件。僅列出目錄中的文本文件並編輯每個文本文件

foreach (glob("thumb/*.{txt}",GLOB_BRACE) as $filetxt) { 
    $desc = file_get_contents($filetxt); 
    $pics = $filetxt; 
    $pic = str_replace('_alt.txt', '', $pics); 

//echo $desc; 
echo '<img style="margin:0 20px 7px;" src="'.$pic.'" /><br /><input type="radio"  name="radioid" id="'.$filetxt.'" value="'.$filetxt.'" /><input type="text" name="editit"  id="'.$filetxt.'" maxlength="50" style="width:400px; height: 20px;" value="'.$desc.'"  /><br /><br />'; 
} 
if(isset($_POST['doedit'])){ 
$line=0; 
$newdata=$_POST['editit']; 
$datams[$line]=$newdata."\r\n"; 
$datams=implode($datams); 
file_put_contents($filetxt,($datams)); 
} 
+0

答案的數量(0)可能表明你的問題不是很清楚。 – michi

回答

0

你需要<form><button>

<form method="POST"> 

    <img ... /><br /> 
    <input type="radio" name="radioid" ... /> 
    <input type="text" name="editit" ... /><br /> 
    <br /> 

    <button type="submit">SEND</button> 
</form> 

服務器發送頁面給你。你製作並按SEND。信息發送到服務器。服務器請參見$_POST['doedit']並將信息保存到文件,並再次發送給您相同的頁面。

但你有很多的線,<input>和所有<input>需要的uniq name(不id)或名稱相同但[]<input name='editit[]' ... >得到$_POST['doedit'][0]$_POST['doedit'][1]等和$_POST['editit'][0]$_POST['editit'][1]

+0

圖像和文本文件已在服務器上。這是編輯現有的文本文件。文本文件僅列出圖像的標題。 – ibiz

+0

這裏很難用幾句話來解釋這一切。 – furas

0

你的問題不太清楚。你的文件中是否有一個表單元素,就像furas指出的那樣。你能否提交表格?最後,你是否有任何錯誤?

除此之外,查看您的代碼,第14行的$filetxt變量超出了範圍,因爲您保存內容的第二個代碼塊位於foreach循環之外。我認爲它應該有單選按鈕所選文件的名稱?

在這種情況下,您必須獲取所選單選按鈕「radioid」的POST值,其中包含將保存數據的文件的名稱。

這是它是如何應該是:上述

... 
    $filetxt = $_POST['radioid']; 
    file_put_contents($filetxt,($datams)); 
    } 

的僅僅是問題的一部分,你還是要解決重名問題作爲furas指出。