Глюк при upload + resize image.jpg под Linux

  • Автор темы Автор темы Valeriy
  • Дата начала Дата начала

Valeriy

Новичок
Глюк при upload + resize image.jpg под Linux

Помогите разобратся.
вот скрипт
$old = imageCreateFromJpeg("../fdb/upload/".$filename);
$w = imagesx($old);
$h = imagesy($old);
$w_new=120;
$h_new=120;
$new = imageCreate($w_new, $h_new);
imageCopyResized($new, $old, 0, 0, 0, 0, $w_new, $h_new, $w, $h);
imageJpeg($new, "../fdb/img/".$filename);
imageDestroy($old);
imageDestroy($new);

сначала я сохраняю оригинальный файл пользователя
$filename.
Потом я беру этот файл и хочу сделать его уменьшеную копию и сохранить,
на локальном хостинге работает, а под linux не хочет, что делать?

-~{}~ 25.01.06 18:40:

Забыл отлажываю на Винде,
apache2 + php4 + gd2.dll
На сервере стоит apache2 + php5 + gd.so
 
Извините, что не ответил раньше, создал сообщение когда уходил с работы.
Вот что выдает сервер в еrror_log :
PHP Warning: imagejpeg() [<a href='function.imagejpeg'>function.imagejpeg</a>]: Unable to open '../fdb/upload/3d.jpg' for writing in /var/www/html/fdb/test.php on line 43 говорит что не может открыть файл. А как задать права доступа для чтения и изминения файла в линуксе?
Тероетически можно ж ведь вместо сохранения файла, вывести его на экран, а как это сделать?

-~{}~ 26.01.06 11:42:

Переделал так, что бы он не сохранял а выводил в браузер
$old = imageCreateFromJpeg("../test/rez.jpg");
$w = imagesx($old);
$h = imagesy($old);
$w_new = 120;
$h_new = 120;
$new = imageCreate($w_new, $h_new);
imageCopyResized($new, $old, 0, 0, 0, 0, $w_new, $h_new, $w, $h);
imagejpeg($new, '',100);
imagedestroy($new);
imageDestroy($old);
Вот результат - &#255;&#216;&#255;&#224;&#188;›@R[&#157;¬Fe&#238;&#191;`·«h—1\&#221;J—¦8`&#353;%&#219;i, он выводит всякую ерунду. Не подсажете где ошыбка?
 
Спасибо, заработало...
Тогда еще один уточняющий вопрос почему он выводит только первый файл, если далее проделать тоже самое то оно никак не реагирует?

-~{}~ 26.01.06 14:26:

А если тот код поместить в теги <table> </table> то вот результат
Warning: Cannot modify header information - headers already sent by (output started at C:\Apache\Apache2\htdocs\test\new_proba.php:
и выводится таже ерунда? Как сделать чтоб была картинка?

-~{}~ 26.01.06 14:38:

картинка получилась но теги не виводятся, а также выводится только первая картинка код ниже:
function resix($name)
{
$old = imageCreateFromJpeg($name);
header('Content-Type: image/jpeg');
$w = imagesx($old);
$h = imagesy($old);
$w_new = 120;
$h_new = 120;
$new = imageCreate($w_new, $h_new);
imageCopyResized($new, $old, 0, 0, 0, 0, $w_new, $h_new, $w, $h);
imagejpeg($new, '',100);
//print"<a href='../fdb/'><img src='".$red."'></a>";
imagedestroy($new);
imageDestroy($old);
return $new;
}

$name = "../test/image.jpg";
print "<table border=1><tr><td>".resix($name)."</td></tr></table>";
$name = "../test/rez.jpg";
print"<table border=1><tr><td>".resix($name)."</td></tr></table>";

-~{}~ 26.01.06 14:59:

закинул это дело на сервер (Linux) он выводит черный квадратик?
Подскажыте чего ему не хватает? Он не хочет не сохранить отредактированую картинку, не вывести ее на екран.
 
Я понял почему выводит только один рисунок, мне такое действо не подходит, а почему сервер не хочет делать resize и сохранить этот рисунок в какуюто папку, возможно нужно указать права доступа как при работе с текстовым файлом, если да то как это замутить для графического файла? При этом upload работает. ниже gdinfo() сервера.
Array
(
[GD Version] => bundled (2.0.28 compatible)
[FreeType Support] => 1
[FreeType Linkage] => with freetype
[T1Lib Support] =>
[GIF Read Support] => 1
[GIF Create Support] => 1
[JPG Support] => 1
[PNG Support] => 1
[WBMP Support] => 1
[XPM Support] =>
[XBM Support] => 1
[JIS-mapped Japanese Font Support] =>
)

Это листинг локального хостинга:
Array
(
[GD Version] => bundled (2.0.15 compatible)
[FreeType Support] => 1
[FreeType Linkage] => with freetype
[T1Lib Support] =>
[GIF Read Support] => 1
[GIF Create Support] =>
[JPG Support] => 1
[PNG Support] => 1
[WBMP Support] => 1
[XBM Support] => 1
[JIS-mapped Japanese Font Support] =>
)

-~{}~ 26.01.06 17:51:

Асы по php помогите же розобратся, а то больше некуда обратится, вокруг меня люди, но они занимаюися явой, и в php ни бум бум. Я б уже проэкт сдал, получил бы свои деньги, и... Но этот глюк с редактированием и сохранением картинки уже достал(4 дня мучит). Перепробовал кучу скриптов своих чужих везде один ефект, под винду на локальном пашет, только закачал на сервер Linux, все глохнет, и молчит как партизан ни каких ошыбок не показывает, если покопатся в еррор логе можно увидеть PHP Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /var/www/html/fdb/test.php on line 75
PHP Warning: imagedestroy(): supplied argument is not a valid Image resource in /var/www/html/fdb/test.php on line 78
PHP Warning: imagejpeg() [<a href='function.imagejpeg'>function.imagejpeg</a>]: Unable to open '../fdb/upload/' for writing in /var/www/html/fdb/test.php on line 80
PHP Warning: imagejpeg() [<a href='function.imagejpeg'>function.imagejpeg</a>]: Unable to open '../fdb/upload/3d.jpg' for writing in /var/www/html/fdb/test.php on line 43, referer: http://mail.sac.com.ua/fdb/pre_test.php
PHP Warning: copy(../fdb/upload/val.jpg) [<a href='function.copy'>function.copy</a>]: failed to open stream: Permission denied in /var/www/html/fdb/test.php on line 58, referer: http://mail.sac.com.ua/fdb/pre_test.php
PHP Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /var/www/html/fdb/test.php on line 75, referer: http://mail.sac.com.ua/fdb/pre_test.php
PHP Warning: imagedestroy(): supplied argument is not a valid Image resource in /var/www/html/fdb/test.php on line 78, referer: http://mail.sac.com.ua/fdb/pre_test.php
PHP Warning: imagejpeg() [<a href='function.imagejpeg'>function.imagejpeg</a>]: Unable to open '../fdb/upload/val.jpg' for writing in /var/www/html/fdb/test.php on line 80, referer: http://mail.sac.com.ua/fdb/pre_test.php
И че он хочет ни как не пойму. На вас вся надежда...

-~{}~ 26.01.06 19:03:

Все проблема решенна. Всем спасибо кто пробовал помочь.
 
Сверху