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 :: Не работает imagejpeg(); :(

 PHP.SU

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


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

> Описание: Типа нет файла:(
Twist
Отправлено: 27 Октября, 2010 - 12:12:38
Post Id


Новичок


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


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




Здравствуйте. Подскажите, почему может неправильно работать функция imagejpeg();? Есть часть кода:
PHP:
скопировать код в буфер обмена
  1.  
  2. $ugolim = "180";
  3. $rotname = "http://site.ru/20101025224154_7270.jpg";
  4.  
  5. $source = imagecreatefromjpeg($rotname);
  6. if($source){
  7.  echo "Создали, ";
  8. }
  9.  
  10. $rotateim = imagerotate($source, $ugolim, 0);
  11. if($rotateim){
  12.  echo "Повернули, ";
  13. }
  14.  
  15. $lastshtrih = imagejpeg($rotateim, $rotname);
  16. if($lastshtrih){
  17.  echo "Вывели!";
  18. }else{
  19.  echo "Не вывели!";
  20. }
  21.  


З.Ы. коду не пугайтесь т.к. это я для того чтоб понять где именно ошибка, делал вывод слов в качестве результата Закатив глазки

Как я понимаю, из изображения $rotname создаётся изображение $source потом оно поворачивается на 180 градусов и так мы получаем изображение $rotateim, потом мы его сохраняем на сервере вместо исходного изображения, тоесть $rotname.

Всё вроде выполняется, но кроме последнег момента, тоесть сохранение картинки с помощью imagejpeg Огорчение
Включил отображение всех ошибок и мне выдало:
Цитата:

Unable to open 'http://site.ru/20101025224154_7270.jpg' for writing: No such file or directory

Но как это возможно, если этот же адрес вставляю в адресную строку и отображается картинка. Этот файл точно есть по этому адресу.
Права на директорию выставлены 777. Даже на сам файл уже поставил права 666, но всё равно не работает. Что это может быть?

З.Ы. хотя если просто выводить
PHP:
скопировать код в буфер обмена
  1.  
  2. header('Content-type: image/jpeg');
  3. imagejpeg($rotateim);
  4.  

то в такой случае выводить кучу иероглифов, но это не важно, важно. что сам файл не хочет сохранять Огорчение

(Отредактировано автором: 27 Октября, 2010 - 12:13:49)

 
 Top
Мелкий Супермодератор
Отправлено: 27 Октября, 2010 - 12:22:08
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Twist пишет:
Что это может быть?

GD не работает с URL, только локальные файлы. И правильно, между прочим, делает.


-----
PostgreSQL DBA
 
 Top
Uchkuma
Отправлено: 27 Октября, 2010 - 13:17:46
Post Id



Участник


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


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




Тут дело не в GD, а в том что человек пытается сохранить файл на виртуальный хост )) на url, ага )
 
 Top
Twist
Отправлено: 27 Октября, 2010 - 13:40:32
Post Id


Новичок


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


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




Тоесть вторым параметром в imagejpeg должен быть не адреc вида http://site[dot]ru/papko/pik4a[dot]jpg а адрес типа ../papko/pik4a.jpg Ок, спасибо, попробуюУлыбка
(Добавление)
Хах)) Работает)) Спасибо вам огромное)) Не знал, что нельзя по URL...
 
 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