simple_html_domライブラリを使用して画像クローラーを作成しました。このコードを使用して、Webサイト内のすべての画像を取得しました。
include 'simple_html_dom.php';
$img_array = array();
if (isset($_POST['url'])) {
$url = $_POST['url'];
$html = file_get_html($url);
echo $html->getElementByTagName('title')->innertext();
foreach ($html->find('a') as $a) {
if (strpos($a->href, $url) !== FALSE) // only images from this site
{
//
// find_images($a->href);
$imgs = file_get_html($a->href);
foreach ($imgs->find('img') as $img) {
if(!in_array($img->src, $img_array))
{
echo '<img src="' .$img->src. '" class="thumb">';
$img_array[] = $img->src;
}
}
echo '<hr>';
}
}
}
しかし、私がこのコードを実行すると、Fatal error: Allowed memory size of 209715200 bytes exhausted (tried to allocate 71 bytes) in /home/iphotosh/public_html/test/simple_html_dom.php on line 122
テストとデモ:test.iphotoshop.ir
このエラーを修正する方法、またはWebサイトからすべての画像をフェッチするためにこのコードを最適化する方法は?