Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проверка url и загрузка изображения [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Без описания
KreVeDko
Отправлено: 23 Мая, 2012 - 18:07:33
Post Id


Новичок


Покинул форум
Сообщений всего: 45
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




и как тогда спарсить иконку сайта если она не в корне? Есть варианты?
 
 Top
DeepVarvar Супермодератор
Отправлено: 23 Мая, 2012 - 21:15:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Иконка всегда в корень кладется - это стандарт, в противном случае пути указывают в метатегах.
И поисковики и браузеры метатеги про иконки по разному воспринимают, а некоторые вообще игнорят.
 
 Top
KreVeDko
Отправлено: 24 Мая, 2012 - 06:44:39
Post Id


Новичок


Покинул форум
Сообщений всего: 45
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




DeepVarvar пишет:
Иконка всегда в корень кладется - это стандарт, в противном случае пути указывают в метатегах.
И поисковики и браузеры метатеги про иконки по разному воспринимают, а некоторые вообще игнорят.

Вы сможете мне написать код парсинга фавикона из мета тега? Буду очень благодарен.
 
 Top
CrazyOne
Отправлено: 24 Мая, 2012 - 11:22:29
Post Id


Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Браузеры сейчас вобще не требуют указание фавиконки, но если в исходном коде отсутствует явное указание на неё, то браузеры пытаются взять иконку из корня.

KreVeDko, вот вам парсер:
PHP:
скопировать код в буфер обмена
  1. /* Настраиваем вывод ошибок */
  2. ini_set('display_errors', 1);
  3.  
  4. $url = 'http://www.google.ru/webhp?hl=ru&tab=ww'; # твой URL
  5.  
  6. if(preg_match("/^(http:\/\/)([^\/]+)/i", $url, $matches))
  7. {
  8.         $defaultFavicon = get_headers($matches[0].'/favicon.ico');
  9.         $content = file_get_contents($matches[0]);
  10.        
  11.         // фавиконка находится не в корне
  12.         if(preg_match("/href\=\".*favicon.(ico|png)/i", $content, $fu))
  13.         {
  14.                 $faviconUrl = preg_replace("/href=\"(\/)?/i", "", $fu[0]);
  15.                 $headers = get_headers($matches[0].'/'.$faviconUrl);
  16.                
  17.                 if(preg_match("/(200 OK)$/", $headers[0])) echo $matches[0].'/'.$faviconUrl; # выводим ссылку на фавиконку
  18.                 else exit('Bad status.');
  19.         }
  20.         // фавиконка находится в корне
  21.         elseif(preg_match("/(200 OK)$/", $defaultFavicon[0]))
  22.         {
  23.                 echo $matches[0].'/favicon.ico'; # выводим ссылку на фавиконку
  24.         }
  25.         else exit("Favicon not found.");
  26. }
  27. else exit("BAD url!");
 
 Top
KreVeDko
Отправлено: 24 Мая, 2012 - 17:03:33
Post Id


Новичок


Покинул форум
Сообщений всего: 45
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




CrazyOne спасибо большое!
А возможно ли изменить размер изображения на выходе?
т.е. есть сайты где фавикон 24х24 размеров, а надо 16х16.
 
 Top
CrazyOne
Отправлено: 24 Мая, 2012 - 17:17:05
Post Id


Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Можно конечно зделать обрезку, но куда проще просто изменить размер через html. Выводи фавиконку так:
CODE (html):
скопировать код в буфер обмена
  1. <img src="путь к фавиконке" alt="" width="16" height="16" />

Теперь хоть 24х24, хоть 256x256 выводится все будут одинаковые - 16x16.
 
 Top
KreVeDko
Отправлено: 24 Мая, 2012 - 19:01:20
Post Id


Новичок


Покинул форум
Сообщений всего: 45
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




ну это понятно, как же все таки сделать это через php ?

(Отредактировано автором: 24 Мая, 2012 - 19:01:50)

 
 Top
CrazyOne
Отправлено: 25 Мая, 2012 - 09:11:49
Post Id


Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Что именно зделать? Ты хочешь её сохранить на сервер или просто обрезать?
 
 Top
KreVeDko
Отправлено: 25 Мая, 2012 - 10:15:33
Post Id


Новичок


Покинул форум
Сообщений всего: 45
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




уменьшить. (Высота, ширина)...

(Отредактировано автором: 25 Мая, 2012 - 10:16:03)

 
 Top
CrazyOne
Отправлено: 25 Мая, 2012 - 11:13:59
Post Id


Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Тогда тебе нужна библиотека GD. Гугли «обрезка изображений php»
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB