2

これは9つのうち最初の画像のみをフェッチしている私のphpコードですが、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実際には1枚の画像を探していません...この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

これは、そのようなJPEG画像を連結することができないためです。クライアントは最初の画像を読み取り、他の画像を後続のゴミとして扱います。

1つの大きな画像を作成する場合は、GDまたはを使用する必要がありますimagick

または、ページ上にそれぞれがrate-bar-bg-2.jpgスルーを指す複数の画像を作成することもできます10。そのウェブサイトに直接リンクしない非常に正当な理由がない限り、これはより効率的である可能性があります。

または、作業を1回実行して、スプライトを手動で作成します。

于 2012-09-25T09:34:09.187 に答える
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 に答える
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 に答える
0

コンテンツの長さも設定します

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

于 2012-09-25T09:32:47.363 に答える