Скачать favicon из списка ссылок

Я попытался создать скрипт для загрузки значков из списка ссылок:

Мой файл link_list.txt выглядит следующим образом:

stackoverflow.com
http://google.com
www.gmail.com
facebook.com

Я использую следующую библиотеку для проверки и загрузки значков:

Github: FaviconDownloader

Мой скрипт в настоящее время выглядит следующим образом:

<?php
require_once 'vendor/autoload.php';
use Vincepare\FaviconDownloader\FaviconDownloader;

$fh = fopen(dirname(__FILE__).DIRECTORY_SEPARATOR . 'link_list.txt','r');
while ($line = fgets($fh)) {

//if the url has not http:// add it
if(preg_match("@^http://@i",$line))
$line = preg_replace("@(http://)+@i",'http://',$line);
else
$line = 'http://'.$line;
echo('URL: ' . $line."\n");
$favicon = new FaviconDownloader($line);

if (!$favicon->icoExists) {
echo "No favicon for ".$favicon->url;
}

// get name of url
$parts = parse_url($line);
$path_parts = explode('.', isset($parts['host'])?$parts['host']:$parts['path']);

echo 'Filename: fav-'. $path_parts[0] .'.ico' . "\n";
$filename = dirname(__FILE__).DIRECTORY_SEPARATOR.'fav-'. $path_parts[0] . '.ico';
file_put_contents($filename, $favicon->icoData);
echo "Saved to ".$filename."\n\n";
}

fclose($fh);

Когда я запускаю свой скрипт, я могу загрузить только последний значок. В этом примере это только Facebook:

введите описание изображения здесь

Любые предложения, что не так с моим сценарием?

Я ценю ваши ответы!

ОБНОВИТЬ

когда var_dump($favicon) Я получил:

class Vincepare\FaviconDownloader\FaviconDownloader#2 (13) {
public $url =>
string(21) "http://www.gmail.com
"public $pageUrl =>
NULL
public $siteUrl =>
NULL
public $icoUrl =>
NULL
public $icoType =>
NULL
public $findMethod =>
NULL
public $error =>
string(31) "Illegal characters found in URL"public $icoExists =>
NULL
public $icoMd5 =>
NULL
public $icoData =>
NULL
public $debugInfo =>
array(1) {
'document_curl_errno' =>
int(3)
}
protected $httpProxy =>
NULL
protected $sslVerify =>
bool(true)
}

Я думаю, что загрузчик не любит \n, Любые предложения, как это исправить?

0

Решение

Вы пробовали открывать иконки, они есть, чтобы они могли работать. Если он не работает, скорее всего, он не загружен или поврежден. Что касается скрипта, я не знаю PHP, поэтому я не могу помочь вам со скриптом.

-2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]