Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Загрузить фото на сервер

Сообщения:  [1-9] 

 
 автор: Kotenochek   (16.04.2007 в 20:14)   письмо автору
 
   для: Unkind   (16.04.2007 в 20:07)
 

Спасибо. Завтра попробую :)

   
 
 автор: Unkind   (16.04.2007 в 20:07)   письмо автору
 
   для: Kotenochek   (16.04.2007 в 20:03)
 

Не хватает оперативной памяти. В php.ini надо увеличить значение параметра "memory_limit".
P.S. И перезагрузить Apache.
P.P.S. Правильней было бы сказать, что скрипт превышает лимит. Памяти-то наверняка еще хватает.

   
 
 автор: Kotenochek   (16.04.2007 в 20:03)   письмо автору
 
   для: Unkind   (16.04.2007 в 19:56)
 

Спасибо!!!! Я так долго пыталась заставить этот сервак выдавать ошибки!!! теперь он их выдает !!! УРА!!!!!!!!!

вот

Выдало ошибку

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 8000 bytes) in /home/huggies/site/inc/img_resize.php on line 27
Чего с ней делать?

   
 
 автор: Unkind   (16.04.2007 в 19:56)   письмо автору
 
   для: Kotenochek   (16.04.2007 в 19:52)
 

В начало файла напишите


<?php
error_reporting
(E_ALL);
ini_set("display_errors""on");
?>

   
 
 автор: Kotenochek   (16.04.2007 в 19:52)   письмо автору
 
   для: Unkind   (16.04.2007 в 19:48)
 

Сервер у нас свой... только ошибки закрыты... потому что на одном серваке несколько сайтов... и админы не хатят их включать, но если вы подскажете как настроить сервак так чтобы заработали большие картиночки, то они все сделают :)

   
 
 автор: Kotenochek   (16.04.2007 в 19:50)   письмо автору
 
   для: Unkind   (16.04.2007 в 19:48)
 

function img_resize($src, $dest, $width, $height, $ram=1, $rgb=0x00000, $quality=80){


if (!file_exists($src)) return false;

if($width>200){

$size = getimagesize($src);
if ($size === false) return false;

// Определяем исходный формат по MIME-информации, предоставленной
// функцией getimagesize, и выбираем соответствующую формату
// imagecreatefrom-функцию.
$format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
$icfunc = "imagecreatefrom" . $format;
if (!function_exists($icfunc)) return false;

$x_ratio = $width / $size[0]; //Найдем отношение текущего размера к будущему по ширине
$y_ratio = $height / $size[1]; //Найдем отношение текущего размера к будущему по высоте

$ratio = min($x_ratio, $y_ratio); // Найдем минимальное из отношений
$new_width = ($size[0] * $ratio); //Посчитаем новую ширину
$new_height = ($size[1] * $ratio); //Посчитаем новую высоту


$isrc = $icfunc($src);
$idest = imagecreatetruecolor( $new_width, $new_height); // создадим картинку с новыми размерами

imagefill($idest, 0, 0, $rgb);
imagecopyresampled($idest, $isrc, 0, 0, 0, 0,
$new_width, $new_height, $size[0], $size[1]);

}else{

$size = getimagesize($src);
if ($size === false) return false;

$format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
$icfunc = "imagecreatefrom" . $format;
if (!function_exists($icfunc)) return false;

$isrc = imagecreatefromjpeg($src);
$w_src = $size[0];
$h_src = $size[1];


$dw = $w_src/ $width; //Найдем отношение текущего размера к будущему по ширине
$dh = $h_src/ $height; //Найдем отношение текущего размера к будущему по высоте



$mm = min($dw,$dh); // Найдем минимальное из отношений


$ww = $width*$mm; //Посчитаем новую ширину
$hh = $height*$mm; //Посчитаем новую высоту



$nx = ($w_src - $ww)/2; // Найдем начало вырезаемой серединки по х
$ny = ($h_src - $hh)/2; // Найдем начало вырезаемой серединки по y



$isrc = $icfunc($src);
$idest = imagecreatetruecolor($width, $height);

imagecopyresampled($idest, $isrc,
0, 0,
$nx, $ny,
$width, $height,
$ww, $hh);







}


$ink = imagecolorallocate($idest, 0, 116, 189);
$ink2 = imagecolorallocate($idest, 255, 255, 255);


if($width>200){
$white=imagecolorallocate($idest,255,255,255);
imagestring($idest,2,$new_width-125,$new_height-30,"nashimamashi.ru ".date('Y'),$white);// Подпись!
}else{
if ($ram==1) {
$ink = imagecolorallocate($idest, 0, 116, 189);
imageline($idest,0,0,$width-1,0,$ink);
imageline($idest,1,1,$width-2,1,$ink);

imageline($idest,1,$height-1,$width-1,$height-1,$ink);
imageline($idest,2,$height-2,$width-2,$height-2,$ink);



imageline($idest,$width-1,0,$width-1,$height-1,$ink);
imageline($idest,$width-2,2,$width-2,$height-2,$ink);

imageline($idest,1,1,1,$height-2,$ink);
imageline($idest,0,0,0,$height-1,$ink);
}
}




if($width>200){
imagejpeg($idest, $dest, $quality);
}else{
imagejpeg($idest, $dest, 100);
}
imagedestroy($isrc);
imagedestroy($idest);
return true;
}

   
 
 автор: Unkind   (16.04.2007 в 19:48)   письмо автору
 
   для: Kotenochek   (16.04.2007 в 19:42)
 

Что за ошибки пишет? Покажите код.

Возможно, скрипт требует слишком много оперативной памяти.

   
 
 автор: Trianon   (16.04.2007 в 19:47)   письмо автору
 
   для: Kotenochek   (16.04.2007 в 19:42)
 

Какие-нибудьсообщения об ошибках есть?
Собственно, проблем обычно две.
1. Ограничение по размеру загружаемого на сервер файла. Это обычно если файл длинее двух мегабайт.
2. Превышение расходуемой под процесс памяти. Это зависит от...

Если дело происходит на хостинге, обычно ни то ни другое просто так не лечится.

Ну и ошибки в алгоритме. Но тут сложно что-то написать не так как надо....

   
 
 автор: Kotenochek   (16.04.2007 в 19:42)   письмо автору
 
 

Написала скрипт по загрузке фото пытаюсь делать переразмер при помощи imagecopyresampled() , но работает почему-то только с фотками длинна у которых <1024 в чем может быть дело? Кто-нибудь сталкивался с такой проблемой?

   

Сообщения:  [1-9] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования