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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Сооздание превью изображений
 
 автор: malish   (30.11.2008 в 19:21)   письмо автору
 
 

Народ, всем привет! Вопрос такой: написал функцию для создания уменьшенных копий изображений, при чем написал её года два назад и до этого момента все было путем. Сегодня написал заказчик, мол, картинки размером более полутора метра не загружаются на сервак.. Проверил (думал настройки хостера запрещают большие файлы грузить) и заметил интересную особенность - картинки загружаются, а вот превьюшки не создаются! Никто не сталкивался?? Даж не знаю че делать, вот код, может кто заметит косяк:

function GenerateThumb($originalFilePath, $thumbFilePath, $resizeBy = 'w', $size = 200, $deleteOriginal = false)
{
   set_time_limit(0);
   $fileExtension = GetFileExtension($originalFilePath);
   switch($fileExtension)
   {
      case 'gif':
         $imageOpenFunction = 'imagecreatefromgif';
         $thumbSaveFunction = 'imagegif';
         break;
      case 'png':
         $imageOpenFunction = 'imagecreatefrompng';
         $thumbSaveFunction = 'imagepng';
         break;
      case 'jpg':
      case 'jpeg':
         $imageOpenFunction = 'imagecreatefromjpeg';
         $thumbSaveFunction = 'imagejpeg';
         break;
      default:
         break;
   }
   $source =  @$imageOpenFunction($originalFilePath);
   $srcWidth = ImagesX($source);
   $srcHeight = ImagesY($source);
   switch($resizeBy)
   {
        case 'w':
            $destWidth = $size;
            $destHeight = $srcHeight/($srcWidth/$destWidth);
            break;
        case 'h':
            $destHeight = $size;
            $destWidth = $srcWidth/($srcHeight/$destHeight);
            break;
        default:
            if($srcWidth > $srcHeight)
            {
                $destWidth = $size;
                $destHeight = $srcHeight/($srcWidth/$destWidth);
            }
            else
            {
                $destHeight = $size;
                $destWidth = $srcWidth/($srcHeight/$destHeight);
            }
            break;
    }
    $thumb = ImageCreateTrueColor($destWidth, $destHeight);
    ImageCopyResampled($thumb, $source, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight);
    @$thumbSaveFunction($thumb, $thumbFilePath);
    ImageDestroy($source);
    ImageDestroy($thumb);
    if($deleteOriginal)
        unlink($originalFilePath);
}


З.Ы. Загружаю обычный jpeg, размер 1400-1500 Kb. Повторюсь, на картинках до метра проблем нет

  Ответить  
 
 автор: BinLaden   (30.11.2008 в 19:25)   письмо автору
 
   для: malish   (30.11.2008 в 19:21)
 

Помимо ограничений на размер загружаемого файла, существует ограничение занимаемого скриптом оперативной памяти.

  Ответить  
 
 автор: malish   (30.11.2008 в 19:33)   письмо автору
 
   для: BinLaden   (30.11.2008 в 19:25)
 

как уего увеличить? ini_set какой параметр?

  Ответить  
 
 автор: Gеоргий   (08.01.2009 в 03:51)   письмо автору
 
   для: malish   (30.11.2008 в 19:33)
 

php.ini
memory_limit = 8M ;
но это только в локале можно поправить, какой же хостер это Вам позволит?
Столкнулся с такой же проблемой, при масштабировании больших фоток не хватает памяти.
надо переписывать тумбмакер, кто че подскажет?

  Ответить  
 
 автор: ddhvvn   (08.01.2009 в 12:22)   письмо автору
 
   для: Gеоргий   (08.01.2009 в 03:51)
 

>какой же хостер это Вам позволит?
любой адекватный.

  Ответить  
 
 автор: Axxil   (08.01.2009 в 13:42)   письмо автору
 
   для: ddhvvn   (08.01.2009 в 12:22)
 

Адресок не подскажете?
Чтоб на виртуальном хостинге позволял спокойно память скриптам как вздумается выставлять.

  Ответить  
Rambler's Top100
вверх

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