替换已加载的文件

时间:2014-01-21 06:44:06

标签: javascript php jquery ajax

我有一个有点难以描述的问题。 我正在编写一个脚本来更新我构建的在线程序。要更新,我下载tar.gz文件,解压缩,然后用更新中的文件替换所有旧文件。 为了让用户了解更新进度,我有一个进度条,使用jQuery ajax进行更新。 这是一步一步的进展,在每一步之后,进度条都会更新:

  1. 进行ajax调用以下载更新包

  2. 进行ajax调用以提取包

  3. 进行ajax调用以使用新文件替换所有旧文件

  4. 已安装更新

  5. 我的问题是,当更新过程进入第3步时,我收到javascript错误Failed to load resource: The request timed out.。 我认为这是因为我也替换了所有的javascript和php文件。 如何使这个ajax调用工作,或者在更新忙于安装时更新进度条的其他好方法?

1 个答案:

答案 0 :(得分:0)

你能更多地了解一下你是如何做到的吗?

  • 你能暂时将更新的所有脚本(js和php)文件加载到临时文件夹并从那里加载吗?更新“核心”文件后,您可以立即删除临时文件夹中的文件。
  • 您是否检查过步骤3本身是否成功?文件被替换,但状态不会更新?或者替换本身也会失败吗?

更新

关于超时...... 你的替换工作究竟如何?

你有一个发送多个电话的功能吗?或者你打了一个大电话?

另外,你是否尝试调用php manualy使实际更新在后台运行?如果是这样,它是否也有超时?

如果您不能使用临时目录,那么您尝试替换的所有文件也可能因为使用而被“阻止”。但这只是猜测。

如果尚未完成,请尝试重写进行实际更新和替换的功能。 让js或php:

  1. 检查需要更新的文件数
  2. 设置一个指向该数字的计数器和一个包含文件的数组
  3. 为每个计数器更新一个文件
  4. 也许可以尝试在
  5. 之前/之后进行一些比较