2

这是我的 php 代码,它只从 9 个图像中获取第一个图像,尽管当我手动检查 URL 时,所有 9 个图像 URL 都正确形成,我也用 CURL 尝试了这个代码,但是循环不起作用,让我知道我是什么做错了吗?

<?php

for($i=2 ; $i <= 10 ; $i++ ){
header('Content-type: image/jpeg;');
$url = "http://www.lafourchette.com/p-3.3.0/default/rate-bar-bg-".$i.".jpg";
$mycontent = file_get_contents($url);
echo $mycontent;
}
4

5 回答 5

4

@h2ooooooo 实际上兄弟我不是在寻找单个图像...我只想将这 9 个图像保存在一个文件夹中

<?php
    for ($i = 2 ; $i <= 10; $i++) {
        $imageName = "rate-bar-bg-" . $i . ".jpg";
        $imageContent = file_get_contents("http://www.lafourchette.com/p-3.3.0/default/" . $imageName);
        file_put_contents($imageName, $imageContent);
    }
?>
于 2012-09-25T10:21:12.300 回答
1

在@h2ooooooo 的帮助下,我想出了解决方案——

<?php

for($i=2 ; $i <= 10 ; $i++ ){
$filename = "rate-bar-bg-".$i.".jpg";
header('Content-type: image/jpeg;');
$url = "http://www.lafourchette.com/p-3.3.0/default/rate-bar-bg-".$i.".jpg";
$fileContent = file_get_contents($url);
file_put_contents($filename, $fileContent);
}
于 2012-09-25T10:19:26.077 回答
1

这是因为不可能像这样连接 JPEG 图像。客户端将读取第一个图像并将其他图像视为尾随垃圾。

如果你想创建一个大图像,你应该使用GDor imagick

或者,您可以在页面上创建多个图像,每个图像都指向rate-bar-bg-2.jpgthru 10。这可能会更有效,除非您有充分的理由不直接链接到该网站。

或者,只需完成一次工作并手动创建一个精灵。

于 2012-09-25T09:34:09.187 回答
0

设置内容长度

header('Content-Length: ' . $size);

于 2012-09-25T09:32:47.363 回答
0
  for ($i = 2 ; $i <= 10; $i++) {
        $imageName = "rate-bar-bg-" . $i . ".jpg";
        copy("http://www.lafourchette.com/p-3.3.0/default/" . $imageName,$imageName);
}
于 2012-09-25T10:50:08.787 回答