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

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
 

Valeriy

Новичок
Извините, что не ответил раньше, создал сообщение когда уходил с работы.
Вот что выдает сервер в е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, он выводит всякую ерунду. Не подсажете где ошыбка?
 

Valeriy

Новичок
Спасибо, заработало...
Тогда еще один уточняющий вопрос почему он выводит только первый файл, если далее проделать тоже самое то оно никак не реагирует?

-~{}~ 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) он выводит черный квадратик?
Подскажыте чего ему не хватает? Он не хочет не сохранить отредактированую картинку, не вывести ее на екран.
 

Valeriy

Новичок
Я понял почему выводит только один рисунок, мне такое действо не подходит, а почему сервер не хочет делать 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:

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