2013-10-18 62 views
1

我有這樣的代碼:文本文件沒有更新

<?php 
if(isset($_POST['submit'])){ 
$fi = "/home2/chippery/public_html/rtf/webR/top.txt"; 
$fih = fopen($fi, 'w'); 
$cont = $_POST["top"]; 
fwrite($fih,$cont); 
fclose($fih); 


$fi = "/home2/chippery/public_html/rtf/webR/bottom.txt"; 
$fih = fopen($fi, 'w'); 
$cont = $_POST["bottom"]; 
fwrite($fih,$cont); 
fclose($fih); 


$fi = "/home2/chippery/public_html/rtf/webR/nextTime.txt"; 
$fih = fopen($fi, 'w'); 
$cont = $_POST["time"]; 
fwrite($fih,$cont); 
fclose($fih); 
} 
?> 

<html> 
<head> 
<title>Chipperyman573</title> 
<link rel="shortcut icon" href="/fav.ico" /> 
</head> 
<body> 
<form method="post" action="change.html"> 
    Top: <input type="text" name="top" /><br> 
    Bottom: <input type="text" name="bottom" /><br> 
    Time (MS): <input type="text" name="time" /><br> 
    <input type="submit" value="Save" /> 
</form> 
</body> 
</html> 

我已經做了文字的頁面,當我嘗試使用這種形式的頁面不改變。我究竟做錯了什麼?我是難以置信的新的HTML/PHP所以我敢肯定這是愚蠢的。

+0

分號'fopen'失蹤和'$ _ POST [ '頂']'... –

+1

你是不是寫的內容的文件。使用'fwrite($ fih,$ cont)' –

+0

您應該啓用錯誤報告。 –

回答

3

要在文件中寫入內容,應在使用寫入模式打開文件後使用fwrite()

而在你的代碼中有一些錯誤,更新的代碼在這裏。我曾認爲你的文件名是myfile.php -

<?php 
if(isset($_POST['submit'])){ 
$fi = "top.txt"; 
$fih = fopen($fi, 'w'); 
$cont = $_POST["top"]; 
fwrite($fih,$cont); 
fclose($fih); 


$fi = "bottom.txt"; 
$fih = fopen($fi, 'w'); 
$cont = $_POST["bottom"]; 
fwrite($fih,$cont); 
fclose($fih); 


$fi = "nextTime.txt"; 
$fih = fopen($fi, 'w'); 
$cont = $_POST["time"]; 
fwrite($fih,$cont); 
fclose($fih); 
} 
?> 
<html> 
<head> 
<title>Chipperyman573</title> 
<link rel="shortcut icon" href="/fav.ico" /> 
</head> 
<body> 
<form method="post" action="myfile.php"> 
    Top: <input type="text" name="top" /><br> 
    Bottom: <input type="text" name="bottom" /><br> 
    Time (MS): <input type="text" name="time" /><br> 
    <input type="submit" value="Save" /> 
</form> 
</body> 
</html> 
+0

仍不更新。當我點擊按鈕但頁面不更新時,它會刷新頁面。 – Frank

+0

@ chipperyman573你想做什麼?我以爲你想更新文本文件。 – Ritesh

+0

是的,它不是。我只想替換文字而沒有任何事情發生。 – Frank

0
<?php 
if(isset($_POST['submit'])){ 
$fi = "top.txt"; 
$fih = fopen($fi, 'w') <-- missing semi-colon 
$cont = $_POST["top"] <-- missing semi-colon 
fclose($fih); 


$fi = "bottom.txt"; 
$fih = fopen($fi, 'w') <-- missing semi-colon 
$cont = $_POST["bottom"]; 
fclose($fih); 


$fi = "nextTime.txt"; 
$fih = fopen($fi, 'w') <-- missing semi-colon 
$cont = $_POST["time"]; 
fclose($fih); 
} 
?> 

正如僅限Ritesh說,你是不是任何數據寫入到文件。只需打開並關閉它們。

1

也可以使用file_put_contents()函數。

此功能是相同的調用fopen()函數,的fwrite()和FCLOSE() 依次將數據寫入到文件中。

<?php 
if (isset($_POST['submit'])) { 
    $fi = "top.txt"; 
    $cont = $_POST["top"]; 
    file_put_contents($fi, $cont); 


    $fi = "bottom.txt"; 
    $cont = $_POST["bottom"]; 
    file_put_contents($fi, $cont); 


    $fi = "nextTime.txt"; 
    $cont = $_POST["time"]; 
    file_put_contents($fi, $cont); 
} 
?>