У меня следующая задача: загрузить изображение, изменить размеры, сохранить в БД.
У меня есть работающий алгоритм (приведен ниже), но в нем есть на мой взгляд лишние действия:
3.Сохранить созданную миниатюру на диск
4.Прочитать с диска миниатюру (перед сохранением в БД)
6.Удалить миниатюру
Упрощенный алгоритм
PHP:
скопировать код в буфер обмена
//1. Создаем изображение на основе существующего //2. Создаем уменьшеную копию - далее миниатюру //размери оригинала //размеры новые $img_new_x = 200; $img_new_y = round($img_y*$img_new_x/$img_x); //создаем миниатюру //3.сохранить на диск $dst = fopen("out/{$_FILES["pic "]["name "]}","w"); //4.Читаем с диска миниатюру //5.Сохраняем миниатюру в базу $query = "insert into images(image_data) values('".$image_data."');"; //6.Удаляем с диска миниатюру - за ненадобностью unlink("out/{$_FILES["pic "]["name "]}");
Вопрос: что нужно подправить в скрипте что бы удалить пункты 3, 4, 6? Нужно для уменьшения файловых операций.
!В интернете все примеры сохранения изображения в базу которые я нашел производятся с использованием функции file_get_contents(), что подразумевает предварительное сохранение миниатюры в файл.
|