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 :: Как узнать существует ли картинка на удаленном сервере?

 PHP.SU

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


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

> Без описания
android
Отправлено: 27 Января, 2012 - 20:49:33
Post Id


Посетитель


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


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




Привет, как узнать существует ли картинка на удаленном сервере?

Пробывал так:

PHP:
скопировать код в буфер обмена
  1.  
  2. if(!file_exists($_GET['image'])) {
  3.         die('Картинки не существует!');
  4. }
  5.  


Не работает...

И еще 2 вопрос связанный с условными операторами...

Проверяю формат картинок:
PHP:
скопировать код в буфер обмена
  1.  
  2. $qaz = strtolower(substr($_GET['image'], 1+strrpos($_GET['image'], '.')));
  3. if($qaz !== 'png' || $qaz !== 'jpg' || $qaz !== 'gif')  {
  4.         die('Ошибка, данный формат не поддерживается!');
  5. }
  6.  


Не работает. Ввожу картинку с jpg и выводит ошибку а вот если по тупому:
PHP:
скопировать код в буфер обмена
  1.  
  2. $qaz = strtolower(substr($_GET['image'], 1+strrpos($_GET['image'], '.')));
  3. if($qaz == 'png' || $qaz == 'jpg' || $qaz == 'gif') {} else {
  4.         die('Ошибка, данный формат не поддерживается!');
  5. }
  6.  


То все ок.. В чем проблема??!
 
 Top
OrmaJever Модератор
Отправлено: 27 Января, 2012 - 21:02:09
Post Id



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


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




только получать заголовок от сервера get_headers() и оскать в нём код 200


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
illy
Отправлено: 27 Января, 2012 - 21:05:16
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


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




PHP:
скопировать код в буфер обмена
  1. if(!file_get_contents($_GET['image'])){ die('Картинки не существует!'); }
  2.  
  3. $qaz = strtolower(preg_replace('/(.*)(.{3})$/','\2',$_GET['image']));
  4. if($qaz == 'png' || $qaz == 'jpg' || $qaz == 'gif') {} else {
  5.         die('Ошибка, данный формат не поддерживается!');
  6. }


mime-type
PHP:
скопировать код в буфер обмена
  1. $z=getimagesize($_GET['image']);
  2.  
  3. if($z[2]=='1'){ echo 'gif'; }
  4. elseif($z[2]=='2'){ echo 'jpg'; }
  5. elseif($z[2]=='3'){ echo 'png'; }
  6. else { die('Ошибка, данный формат не поддерживается!'); }

(Отредактировано автором: 27 Января, 2012 - 21:06:06)



-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
android
Отправлено: 27 Января, 2012 - 21:52:27
Post Id


Посетитель


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


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




illy


PHP:
скопировать код в буфер обмена
  1.  
  2. $qaz = strtolower(preg_replace('/(.*)(.{3})$/','\2',$_GET['image']));
  3.  
  4. if($qaz == 'png' || $qaz == 'jpg' || $qaz == 'gif') {} else {
  5.  
  6.         die('Ошибка, данный формат не поддерживается!');
  7.  
  8. }
  9.  


Дело не в переменной qaz а дело в условном операторе...


Я просто хочу понять почему не работает? так:

PHP:
скопировать код в буфер обмена
  1. if($qaz !== 'png' || $qaz !== 'jpg' || $qaz !== 'gif')  {
  2.  
  3.         die('Ошибка, данный формат не поддерживается!');
  4.  
  5. }
 
 Top
illy
Отправлено: 27 Января, 2012 - 22:45:54
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


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




короче вот:

PHP:
скопировать код в буфер обмена
  1. if($qaz!='png' && $qaz != 'jpg' && $qaz != 'gif')  {
  2.         die('Ошибка, данный формат не поддерживается!');
  3. }

(Отредактировано автором: 27 Января, 2012 - 22:54:18)



-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
android
Отправлено: 27 Января, 2012 - 23:38:16
Post Id


Посетитель


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


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




if(!file_get_contents($_GET['image'])){ die('Картинки не существует!'); }

не работает...

И еще один вопрос...

Накладываю вотемарк png на картинку гиф, получается белеберда:

http://my-css[dot]ru/_ph/2/2/453024582[dot]gif

На картинки jpg, png все норм только качество не очень...

PNG-24

PHP:
скопировать код в буфер обмена
  1.  
  2. $images = imagecreatefromgif($_GET['image']);
  3.         $zx = imagesx($images);
  4.         $zy = imagesy($images);
  5.        
  6.         $watermark = imagecreatefrompng($_GET['watermark']);
  7.         $x = imagesx($watermark);
  8.         $y = imagesy($watermark);
  9.        
  10.         $xdest = $zx - $x - 20;
  11.         $ydest = $zy - $y - 10;
  12.        
  13.         imagecopy($images, $watermark, $xdest, $ydest, 0, 0, $x, $y);
  14. imagegif($images);
  15. imagedestroy($watermark);
  16. imagedestroy($images);
  17.  
  18.  
 
 Top
illy
Отправлено: 28 Января, 2012 - 00:08:29
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


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




да вроде норм
прозрачность нужна? Однако
в гифе конечно палитра из 256 цветов


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
android
Отправлено: 28 Января, 2012 - 00:18:23
Post Id


Посетитель


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


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




http://my-css[dot]ru/_ph/2/2/453024582[dot]gif

Разве это норм?

Вот так должно быть http://my-css[dot]ru/_ph/2/2/540214855[dot]jpg
 
 Top
Okula
Отправлено: 28 Января, 2012 - 00:45:32
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


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




В GIF нет прозрачного цвета. Используй PNG формат.
 
 Top
LIME
Отправлено: 28 Января, 2012 - 02:23:40
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




 
 Top
illy
Отправлено: 28 Января, 2012 - 10:21:14
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


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






-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
android
Отправлено: 28 Января, 2012 - 11:22:08
Post Id


Посетитель


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


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




Okula парень прочти мой пост еще раза 2.

Картинка в гиф а вотемарк в другом формате

illy неработает!
 
 Top
android
Отправлено: 06 Февраля, 2012 - 22:16:34
Post Id


Посетитель


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


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




Надеюсь ап разрешен 1 раз в неделю?
 
 Top
Okula
Отправлено: 06 Февраля, 2012 - 22:47:50
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


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




Ну тек темболее, если вотемарк в другом формате (отличным от GIF) то набор цветвых схем не совпадает.
GIF изображение может иметь до 256 цветов (это максимум), а может и меньше.
Так вот при совмещении изображений твой вотемарк переводится в GIF формат с использованием такого кол-ва цветов какое имелось в цветовой политре и никак не больше. Те цвета которые не нашлись в палитре заменяются более подходящими по тону.
В твоём случаи прозрачный цвет заменяется на белый.

Надеюсь объяснил предельно просто. Улыбка
 
 Top
android
Отправлено: 08 Февраля, 2012 - 15:34:05
Post Id


Посетитель


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


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




Okula а нужно просто 2 вотемарка с разными форматами

if($s=='gif') {
кладем GIF
} и тд)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB