如何在 php 中使用 wget 下载内部资源或以 file://// 开头的文件?
how do I download a internal resource or a file staring file://// using wget in php?
我需要下载 file://///3.24.116.965/dsaspdata/Dev/hotdocs/docs/12rsocz2q4.docx
,如果我将其粘贴到浏览器中,它会打开一个 word 文档。我正在使用这样的 PHP 脚本对其进行自动化 - shell_exec("wget file://///3.24.116.965/dsaspdata/Dev/hotdocs/docs/12rsocz2q4.docx -O /tmp/batch_test/final_remu.docx");
显然这不起作用,因为 file://///
未被识别。
我必须以哪种格式将其放入 shell_exec
?
`
wget
是一个网络客户端,它实际上是为 HTTP 请求而设计的。但这不是 HTTP 位置,而是文件系统位置:
//3.24.116.965/dsaspdata/Dev/hotdocs/docs/12rsocz2q4.docx
(可能是网络挂载的文件系统,但与PHP区别不大。)
与其尝试 "download" 文件,不如将其视为文件系统操作和 copy the file instead。类似于:
copy("//3.24.116.965/dsaspdata/Dev/hotdocs/docs/12rsocz2q4.docx", "/tmp/batch_test/final_remu.docx")
(我 有点 猜测第一个参数的确切文件位置格式,我对它有点生疏。希望它按原样工作,但它可能需要稍微调整一下。)
我需要下载 file://///3.24.116.965/dsaspdata/Dev/hotdocs/docs/12rsocz2q4.docx
,如果我将其粘贴到浏览器中,它会打开一个 word 文档。我正在使用这样的 PHP 脚本对其进行自动化 - shell_exec("wget file://///3.24.116.965/dsaspdata/Dev/hotdocs/docs/12rsocz2q4.docx -O /tmp/batch_test/final_remu.docx");
显然这不起作用,因为 file://///
未被识别。
我必须以哪种格式将其放入 shell_exec
?
`
wget
是一个网络客户端,它实际上是为 HTTP 请求而设计的。但这不是 HTTP 位置,而是文件系统位置:
//3.24.116.965/dsaspdata/Dev/hotdocs/docs/12rsocz2q4.docx
(可能是网络挂载的文件系统,但与PHP区别不大。)
与其尝试 "download" 文件,不如将其视为文件系统操作和 copy the file instead。类似于:
copy("//3.24.116.965/dsaspdata/Dev/hotdocs/docs/12rsocz2q4.docx", "/tmp/batch_test/final_remu.docx")
(我 有点 猜测第一个参数的确切文件位置格式,我对它有点生疏。希望它按原样工作,但它可能需要稍微调整一下。)