我正在使用CURL从外部URL下载大文件并将其保存在我的服务器上。 这可能需要几分钟的时间。 虽然下载运行时我使用curl_setopt($ CH,CURLOPT_PROGRESSFUNCTION,..运行匿名函数周期性与当前下载更新的信息我的$ _SESSION [“download_progress”]变量。PHP:如何在一个页面上使用会话,而另一个页面正在加载sesson
现在,这一切都是在发生upload.php的文件,当用户等待文件下载使用JavaScript来请求包含以下简单的代码progress.php页:
session_start();
echo $_SESSION['download_progress'];
这让我的JavaScript代码来显示有关信息下载进度。
除非无法正常工作。
直到“upload.php”完成加载(换句话说,两个页面只在文件完成下载后才加载),“progress.php”页面才会加载,这是不好的。 session_start()以某种方式阻止加载“progress.php”页面。 我使用我自己的服务器(apache + php 5.4),所以我有所有管理员权限。
我怎样才能解决这个问题? 我可以使用一些丑陋的解决方法,如将下载信息写入txt文件而不是会话变量,然后使用javascript直接读取该txt文件,但我宁愿不这样做。
感谢
+0
据我所知,你应该工作,除非两个文件都从同一个文件调用。例如,如果你有index.php?some_setting_to_load_load.php和index.php?some_setting_to_load_progress.php 你有没有在线测试过,看看你是否得到不同的结果? –
2013-02-19 19:59:58