2010-05-14 83 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