0

約 1000 個の画像 URL を含む XML ファイルがあります。PHP を使用して、すべての画像のスプライトを作成したいと考えています。

  • XML ファイルのサイズは約 30 MB です。
  • 画像のサイズは約15kbです

どうすればそれを成し遂げることができますか?

これが私のコードです(致命的なエラーが発生します:許可されたメモリサイズ...):

<?php

$dest              = imagecreatefromjpeg('15000x2000.jpg');
$increasing_width  = 0;
$increasing_height = 0;

$xmldata = '1000-images.xml';

$open = fopen($xmldata, 'r');

$content = stream_get_contents($open);

fclose($open);

$xml = new SimpleXMLElement($content);
foreach ($xml->xpath('//image') as $image) {
    $src = imagecreatefromjpeg('test/' . $image->picture->attributes() . '.jpg');

    if ($increasing_width == '15000') {
        $increasing_width = '0';
        $increasing_height += 200;
    }

    imagecopymerge($dest, $src, $increasing_width, $increasing_height, 0, 0, 150, 200, 100);

}

imagejpeg($dest, '15000x2000.jpg');

?>
4

1 に答える 1

1
于 2013-12-23T22:35:03.557 に答える