Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> странная ошибка при работе с графикой 
V
    Опции темы
begin
Дата 11.1.2009, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



Есть код, который создает три типоразмера изображений из загруженного файла:

Код

$size=GetImageSize($_FILES['userfile1']['tmp_name']);
$uploadfile='../photo_article/temp.jpg';
if (move_uploaded_file($_FILES['userfile1']['tmp_name'], $uploadfile))
{
$ext=strtolower(substr(strrchr($_FILES['userfile1']['name'],"."),1));
$micro_file='../photo_article/micro_'.$id.'.jpg';
$quality=100;
$im=imagecreatefromjpeg($uploadfile);
if ($size[0]>$size[1])
{
$k=30/$size[0];
$w=30;
$h=floor($size[1]*$k);
}
else
{
$k=30/$size[1];
$h=30;
$w=floor($size[0]*$k);
}
$im1=imagecreatetruecolor($w,$h);
imagecopyresampled($im1,$im,0,0,0,0,$w,$h,imagesx($im),imagesy($im));
imagejpeg($im1,$micro_file,$quality);
imagedestroy($im);
imagedestroy($im1);
$im=imagecreatefromjpeg($micro_file);
$im1=imagecreatetruecolor(30,30);
imagecopyresampled($im1,$im,0,0,0,0,30,30,30,30);
imagejpeg($im1,$thumb_file,$quality);
imagedestroy($im);
imagedestroy($im1);
$thumb_file='../photo_article/thumb_'.$id.'.jpg';
$quality=100;
$im=imagecreatefromjpeg($uploadfile);
if ($size[0]>$size[1])
{
$k=100/$size[0];
$w=100;
$h=floor($size[1]*$k);
}
else
{
$k=100/$size[1];
$h=100;
$w=floor($size[0]*$k);
}
$im1=imagecreatetruecolor($w,$h);
imagecopyresampled($im1,$im,0,0,0,0,$w,$h,imagesx($im),imagesy($im));
imagejpeg($im1,$thumb_file,$quality);
imagedestroy($im);
imagedestroy($im1);
$im=imagecreatefromjpeg($thumb_file);
$im1=imagecreatetruecolor(100,70);
imagecopyresampled($im1,$im,0,0,0,0,100,70,100,70);
imagejpeg($im1,$thumb_file,$quality);
imagedestroy($im);
imagedestroy($im1);
$normal_file='../photo_article/normal_'.$id.'.jpg';
$quality=100;
$im=imagecreatefromjpeg($uploadfile);
$k=200/$size[0];
$w=200;
$h=floor($size[1]*$k);
$im1=imagecreatetruecolor($w,$h);
imagecopyresampled($im1,$im,0,0,0,0,$w,$h,imagesx($im),imagesy($im));
imagejpeg($im1,$normal_file,$quality);
imagedestroy($im);
imagedestroy($im1);


Код работает. Но! При выполнении выдает странную ошибку в конце всех команд:

Цитата

яШяаJFIFяюҐ“}aЁЙЈкjЈNѓГ·ћФ-w—n#Цп,.VЪКъuѓг_ЩпгoГь6Тµэoб.ѓЇZj:G‚нf»ѓFµ±ФЛиЪE·‡MЕцњ5gТµ;™х{‡Ъa—HЭ¦ЪX_\Бs{Ц3`Гс»аћҐсGRс5‡м§бНGДoкєo€[гДЇЫ‹ЌC[сЏўБЂ<.Ъџ‚m¤С¬<$-ЫX·ґЋъкиZkћL:±№•ѕ“-бМп-Нлжuш~…jzзхZщЋ†ЕЧЕQЌ(ФЕблвhКЇ±zQR®б•EO™EВxѕ¶м°yfs€‰§ЏЛq/0ЛІМ>OVќ<ЈV¤pXЉ·IJ+ЩФҐ,-8TrЁ›pЦ§д—ьGг&§с§цАр^Ї®xzЯГъЯ„gЯшW 
"Л©кчєoЏ>'лGVс‚{‡mcИсc,І™"УґН:©QЁьbЇСш*oЏmѕ$юЧ^*сuЇ„мь hчтшcMЧхoйљmцЇw«kЪ§цeюЇ¤°X]кzµенѕ•c¦й:FЋ·ЩєN›mckoОЉсqФйУЕЧЌ, <~Цx3зЈ†ЇY*Ш�Rju¦с«(B3”)ЖJґ#«.ЎS ‚ЈB®"¦*TХD«ЦЌ8Ц©MХ›ЈнUЖ›«N©(ЕsО2›»“oяЩ

И ЭТО не читается не в одной из кодировок в браузере (а вообще сообщения об ошибках php читаются вполне нормально). Исходный код страницы выглядит так:
Цитата

яШяа


А все три размера фотографий вполне нормально создаются - проверял. Вот только выдается это странное сообщение в конце  smile 

Это сообщение отредактировал(а) skyboy - 11.1.2009, 21:29
PM MAIL   Вверх
unicross
Дата 11.1.2009, 20:52 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 1
Всего: 53



begin, переменная $thumb_file не объявлена до ее использования. По этой причине вывод производится не в файл, а в браузер.
Цитата

imagejpeg($im1,$thumb_file,$quality);
imagedestroy($im);
imagedestroy($im1);
$thumb_file='../photo_article/thumb_'.$id.'.jpg';

Замените на 
Код

$thumb_file='../photo_article/thumb_'.$id.'.jpg';
imagejpeg($im1,$thumb_file,$quality);
imagedestroy($im);
imagedestroy($im1);

Чтобы подобных ошибок не возникало в будущем вставляйте в начало скрипта директиву
Код

error_reporting(E_ALL);

Код

Notice: Undefined variable: thumb_file in ... on line ...

Ошибка сразу видна. smile 
PM MAIL WWW   Вверх
begin
Дата 11.1.2009, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



unicross, спасибо, помогло.

А все таки, что за сообщение такое странное выводилось? и в какой оно кодировке? и почему в коде страницы его не было видно?
PM MAIL   Вверх
unicross
Дата 12.1.2009, 00:00 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 1
Всего: 53



Цитата(begin @  11.1.2009,  23:55 Найти цитируемый пост)
А все таки, что за сообщение такое странное выводилось?

Картинка в формате JPEG... при Content-Type: text/html
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Графика | Следующая тема »


 




[ Время генерации скрипта: 0.0610 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.