2010-05-14 76 views
0

我做了一個網站,從用戶的價值,並將其保存到一個文本文件。在我的家用電腦上,它運行良好,data.txt文件立即得到更新。PHP的問題?此代碼是否正確更新txt文件?

但是,我的朋友說他的家用電腦沒有立即更新[他正在使用Wi-Max連接]。需要1分鐘才能爲他更新。

這個問題是我使用的這段代碼的結果嗎?

<?php 


    $command = $_POST['command']; 

    $ourFileName = "data.txt"; 
unlink($ourFileName); 

$fileHandle = fopen($ourFileName, 'w') or die("can't open file"); 

$stringData = $command; 

fwrite($fileHandle, $stringData); 

fclose($fileHandle); 

header ("Location: index.html"); 
?> 

這怎麼解決這個問題呢?

對不起,如果這個問題不應該發佈在stackoverflow,我只是不知道在哪裏發佈它。

+1

請使用四個空格縮進代碼,以便在您的問題中正確顯示代碼。 – 2010-05-14 17:25:34

+0

當你說你的家用電腦時,你的意思是說你正在本地機器上運行網絡服務器,它承載了這個PHP腳本,或者這個腳本是否在活着的服務器(而不是本地機器)上運行? – 2010-05-14 17:29:55

+0

不,我只是說它們都通過同一個路由器連接到互聯網。我有一個DSL連接,我的朋友使用Wi-Max,所以我懷疑這個問題可能不是因爲PHP代碼,真的不知道:( – Hazem 2010-05-14 17:35:35

回答

2

使用try file_put_contents()

<?php 
$command = $_POST['command']; 
file_put_contents('data.txt', $command); 
header ("Location: index.html"); 
?> 

另外,它可能是一個想法,首先確認該命令。

此外,嘗試添加沒有緩存頭(你的朋友瀏覽器可以高速緩存的index.html)

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 
+0

頭部代碼沒有解決問題,這可能是因爲他的連接 – Hazem 2010-05-14 18:35:14

0

有使用電池連接時涉及到吉安滯後。 將字符串寫入文件有多大?如果它很小,我會說這是網絡滯後,而不是你的代碼。

這個網站在哪裏運行?你的家用電腦或「真正的」網絡服務器?

+0

真正的網絡服務器,少量的txt – Hazem 2010-05-14 17:41:33

+0

然後就是延遲,我的3G網絡通常有700ms +的延遲,大約1000kbps的下行速度,150kbps的上行速度。 – jlindenbaum 2010-05-15 19:52:17