【发布时间】:2013-09-03 08:49:22
【问题描述】:
这可能是一个奇怪的问题,但我这里有这个循环:
foreach ($friends["data"] as $value) {
echo '<img src="https://graph.facebook.com/' . $value["id"] . '/picture?type=large"/> <br />
}
运行此程序会打开 2000 多张图像。
我需要将这些图像中的每一个下载到我桌面上名为 1.jpg、2.jpg、3.jpg 等的文件夹中。
坦率地说,这对我来说很奇怪,我什至不知道如何尝试和研究如何做到这一点。这些图像并不大,但确实需要保持有序,因为它们稍后将与带编号的标题对齐。
非常感谢任何帮助!
我试过了:
foreach ($friends["data"] as $value) {
$i = 1;
echo '<img src="https://graph.facebook.com/' . $value["id"] . '/picture?type=large"/> <br />';
$url = 'https://graph.facebook.com/' . $value["id"] . '/picture?type=large';
$img = '/me/Desktop/Facebook/'.$i.'.jpg';
file_put_contents($img, file_get_contents($url));
$i++;
}
但我得到了错误: 警告:file_put_contents(/me/Desktop/Facebook/1.jpg) [function.file-put-contents]:无法打开流:第 125 行的 /home/blahblah blah 中没有此类文件或目录
【问题讨论】:
-
你可以选择两种方法来做这样的事情:1)使用 Javascript 将所有这些图像下载到你的客户端。 2nd) 在你的 PHP 脚本中收集所有图像并将它们放在一个 zip 文件中并提供这个文件供下载。
-
我喜欢将其设为下载的想法。我看到了这个:php.net/manual/en/function.copy.php你如何确定目的地?
-
等等,你的桌面是在运行这个 PHP 脚本的同一台机器上吗?我以为您希望它在服务器上运行,然后将其下载到客户端。请问您能说得清楚一点吗?
-
你的脚本中的问题是你试图写入一个服务器由于权限而无法读取/写入的文件夹,试试@TaeL答案的代码或者你可以使用curl下载它跨度>
-
在服务器上运行并下载到客户端后很好-但我想将所有图像保存在一个 zip 文件夹中以便于下载。