我想将大量文件下载到我的服务器。我有不同的文件下载和位置在那里把他们的名单。这一切是不是一个问题,我使用wget来下载文件,用了shell_exec执行此

$command = 'wget -b -O' . $filenameandpathtoput . ' ' . $submission['url'];
shell_exec($command);

这个伟大的工程,服务器启动所有线程和文件在任何时间被下载。

但问题是,我想通知时,文件下载的用户...而这不符合我目前的做事方式工作。所以,你会如何实现这一点?

任何建议将是有益的!

有帮助吗?

解决方案

我想你是能够检查所有文件是否到位的东西,如

function checkFiles ()
{
    foreach ($_SESSION["targetpaths"] as $p)
    {
        if (!is_file($p)) return false;
    }
    return true;
}

现在你需要做的就是打电话给你的服务器上的脚本,调用这个函数每秒(左右)。您可以通过元刷新(强制浏览器n秒后重新加载页面)或使用AJAX(看看jQuery的.getJSON,例如)做到这一点。

如果脚本调用,文件还没有下载的所有,打印像“请等待”,后来再次刷新。否则,显示成功消息。就是所有

其他提示

可以考虑使用 EXEC 运行外部wget命令。你的PHP脚本将阻止,直到外部命令完成。一旦完成,你可以重复完成的文件的名称。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top