【问题标题】:downloading multiple files from server to client pc using php使用php将多个文件从服务器下载到客户端PC
【发布时间】:2016-01-12 08:08:27
【问题描述】:

我的服务器上有多个 jpg 图像文件,我正试图将它们下载到我的电脑上。它们都列在我们的数据库中,并带有路径、标题、ID、找到的类型位置(以及其他标识符)。我正在尝试将它们下载到位置和类型的目录/子目录以用于组织目的。

file_get_contents($path) 有效,但 file_put_contents($destination) 将图像放在网页所在的服务器目录中,而不是我传递给它的本地 pc 路径。
谁能告诉我我做错了什么(我确定这个列表很长!)。

这是我的代码:
// $Image 是带有相关数据的图像数组

$TempGet = file_get_contents($absolutepath);  //this seems to work
$TempPut  = "C:\Images\\" . $Image["il_name"] . "\'" . $Image["it_name"];
$TempPut .= "'\'" . $Image["title"] . "-" . $Image["pictureid"] . ".jpg'";
$Result = file_put_contents($TempPut, $TempGet);

$absolutepath 是 "var/www/images/32456.jpg"
$TempPut 最终为“C:\Images\A\'Red Zone'\'3rd one on left-32456.jpg'

为什么将图像放在服务器上而不是放在我的电脑上? 谢谢。

编辑:我不希望弹出窗口询问文件的保存位置;我希望能够以有组织的方式自动下载 1000 张图像。 很抱歉把它遗漏了。谢谢

【问题讨论】:

  • 我不希望弹出窗口询问文件保存位置所以如果可以的话,我可以将所有现有的病毒软件下载到你的电脑上,因为你看了我的主页。那会很有趣不是吗
  • 虚幻。我非常专注于尽快从服务器上获取这 4000 张图像,我完全没有意识到这条“路径”有多么错误。感谢您指出。
  • 另外,在从以下建议中搜索示例时,我发现了这个:stackoverflow.com/questions/1754352/… and stream

标签: php


【解决方案1】:

因为file_put_contents()write data to a file on the server

如果您想强制浏览器下载文件,see this question 或更多。

顺便说一句,您不能指定 client 文件路径作为目标,这取决于浏览器。您所能做的就是告诉它下载图像/文件。

编辑: 根据您的编辑,如果没有对话框,您将无法实现从 Web 服务器到客户端的下载。这显然是在任何网络浏览器中实施的一项安全功能,可防止网站在您的计算机中填充垃圾邮件、病毒等。

您可以使用 Java 小程序来实现它。

您可以使用 PHP 实现此目的的唯一方法是,如果您的客户端计算机也运行 Web 服务器,并且您的服务器将某种 CURL 请求发布到您客户端的 Web 服务器。

【讨论】:

  • 当然还有一次只能下载1个文件的限制is trivial to overcome
  • 正如我上面所说,我无法相信我是多么专注于不考虑这些其他途径——比如压缩文件。呸!谢谢你们的回复和链接(我找不到我正在寻找的答案,也没有停下来重新思考)。再次感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-13
  • 2021-02-20
  • 2016-02-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多