我想按如下方式运行 wget
shell_exec('wget "'http://somedomain.com/somefile.mp4'"');
sleep(20);
continue my code...
我想要的是让 PHP 等待 shell_exec wget 文件下载完成,然后再继续其余代码。我不想等待设定的秒数。
我该怎么做,因为当我运行 shell_exec wget 时,文件将开始下载并在后台运行,PHP 将继续。
您的 URL 是否包含 & 字符?如果是这样,您的 wget 可能会进入后台,并且 shell_exec() 可能会立即返回。
例如,如果 $url 是“http://www.example.com/?foo=1&bar=2”,则需要确保在命令行上传递时它是单引号的:
shell_exec("wget '$url'");
否则 shell 会误解 &。
一般来说,转义命令行参数是一个好主意。最全面的方法是使用 escapeshellarg():
shell_exec("wget ".escapeshellarg($url));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)