Помогите плиз с оптимизацией скрипта загрузки и ресайза картинки

Статус
В этой теме нельзя размещать новые ответы.

KorP

Новичок
Помогите плиз с оптимизацией скрипта загрузки и ресайза картинки

надеюсь помидорами меня не закидают. почитал маны, всё что мог лишнее из скрипта выкинул, сотавил только нужное, но всё-равно, при загрузке больших картинок (до 10мп) скрипт работает медленно даже на локальном сервере. понятное дело что нужна тонкая настройка апача и пхп и возможно железо на сервере помощнее, но пока хочется спросить - можно ли в самом коде ещё что то оптимизировать?
логика скрипта:
1. загружаем картинку
2. ресайзим до 1200 по большой стороне и накладываем надпись, сохраняем
3. берём сохранённую картинку и ресайзим до размера превьюшки, сохраняем
в принципе всё, потом уже просто вывод ссылок и т.д. но здесь я не думаю что это уже как то сильно влияет на скорость выполнения, вывести строку с адресом картинки не проблема...код:
PHP:
$main_dir = "tmp/";
$uploaddir = "c:/http/apache group/apache/htdocs/".$main_dir.$dir."/";
$thumbdir = "c:/http/apache group/apache/htdocs/".$main_dir.$dir."/thumb/";
if (isset($_FILES["userfile"])) {
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {

$image = $uploaddir.$_FILES['userfile']['name'];
$max_size = 1200;
$size = getimagesize($image);
if($size[0] > $size[1]) {
  $divisor = $size[0] / $max_size;
}
else {
  $divisor = $size[1] / $max_size;
}
    $new_width = $size[0] / $divisor;
    $new_height = $size[1] / $divisor;
    $old_image  = ImageCreateFromJPEG($image);
    $new_image  = ImageCreateTrueColor($new_width,$new_height);
    ImageCopyResampled($new_image,$old_image,0,0,0,0,$new_width,$new_height,$size[0],$size[1]);
    $white = imagecolorallocate($new_image, 255, 255, 255);
    $text = 'KorP 2007';
    $font = 'calibri.ttf';
    imagettftext($new_image, 12, 0, 5, 20, $white, $font, $text);
    ImageJPEG($new_image, $uploaddir.$_FILES['userfile']['name'], 100);

$image = $uploaddir.$_FILES['userfile']['name'];
$thumb_size = 600;
$size = getimagesize($image);
if($size[0] > $size[1]) {
  $divisor = $size[0] / $thumb_size;
}
else {
  $divisor = $size[1] / $thumb_size;
}
    $new_width = $size[0] / $divisor;
    $new_height = $size[1] / $divisor;
    $old_image  = ImageCreateFromJPEG($image);
    $new_image  = ImageCreateTrueColor($new_width,$new_height);
    ImageCopyResampled($new_image,$old_image,0,0,0,0,$new_width,$new_height,$size[0],$size[1]);
    ImageJPEG($new_image, $thumbdir.$_FILES['userfile']['name'], 100);
 

Фанат

oncle terrible
Команда форума
дело что нужна тонкая настройка апача и пхп
скажи, ты действительно считаешь, что картинку тебе ресайзит апач?
при загрузке больших картинок (до 10мп)
а если будет до 20Мп - ты тоже будешь пытаться увеличить скорость путем оптимизации пхп-скриптов? А 30?
 

KorP

Новичок
*****
апач не ресайзит картинку, и я так не считаю, я имел ввиду что дефолтные настройки апача врят ли являются наиболее правильными со стороны скорости выполнения скриптов

это придирки к словам, а не ответ на вопрос, понятное дело что из-за больших размеров картинки скрипт выполняется долго и если картинка увеличится - будет выполнятся ещё дольше, ещё раз спрошу - именно со стороны php кода - какие оптимизации можно произвести не затрагия при этом сам сервер (ни програмно, ни железно), для более быстрого его выполнения
 

Фанат

oncle terrible
Команда форума
объясни, какую оптимизацию ты собрался проводить для трех строчек кода?
 

KorP

Новичок
*****
как с вами специалистами тяжело. если бы я знал "какую" наверное я бы не стал писать здесь, или написал конкретно "какую" - логично? по тому и прошу тех, кто в этом понимает больше чем я - взглянуть на код и сказать - какие здесь есть ошибки, можно ли что то упростить и можно ли что то оптимизировать?
 

Фанат

oncle terrible
Команда форума
с нами, специалистами, тяжело потому, что мы видим вещи, которые не видят новички.
Но которые нам кажутся очевидными.
Например, что основная нагрузка падает на уменьшение той самой десятимегапиксельной картинки.
каковое уменьшение занимает ровно три строчки кода.
нам,специалистам, все время кажется, что об этом может догадаться любой.
равно как и о том, что в трех строчках кода соптимизировать что-либо весьма затруднительно.
 

KorP

Новичок
*****
ну собственно всё вышеописаное мне и так было ясно, о чём я написал в первом посте, а вот про последнее если можно всё-таки подробнее
"соптимизировать что-либо весьма затруднительно." или всё-таки невозможно? (на данном конкретном примере)
 

KorP

Новичок
*****
_?)(*?_)(?% у меня просто нет слов, которыми можно ответить, кроме тех за которые банят! я понимаю что вы крутой специалист, и мне ламеру-начинающему вообще неподабает с вами говорить, но вы блин ЧИТАТЬ умеете ВНИМАТЕЛЬНО???????? вы развели флуд на пол темы, непонятно вообще к чему!

Автор оригинала: KorP
именно со стороны php кода - какие оптимизации можно произвести не затрагия при этом сам сервер (ни програмно, ни железно), для более быстрого его выполнения
вам как специалисту на сколько сложно ответить на конкретно поставленный вопрос? если можно - напишите что, нельзя - ответьте что нечего здесь оптимизировать! неужели так сложно и надо разводить флуд, потешаясь над начинающими?
 

Фанат

oncle terrible
Команда форума
а ты? читать умеешь внимательно? или только гневаться?
нет.
если ты до сих пор этого не понял.
 

KorP

Новичок
*****
я пока в ваших словах не увидил ни одного конкретного ответа на поставленный вопрос.только про апгрейд железа, что не относится к поставленному вопросу, и про 3 строчки кода, где что то сложно соптимизировать. так блин всё-таки сложно, но есть варианты или их нет вообще? если вы не можете конкретно и прямо ответить на вопрос, давайте не будем здесь разводить лишний флуд - промолчите, может быть у кого то есть ещё мнение, которым он в доступном варианте согласится со мной поделиться
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху