Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> загрузка изображений с обработкой, загрузка изображений с обработкой 
:(
    Опции темы
xrustic
Дата 1.7.2010, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 14.1.2010

Репутация: нет
Всего: нет



Подскажите, пожалуйста, кто знает как загрузить изображение в БД MySQL с пердварительной обработкой.
Под обработкой подразумевается уменьшение размера изображения.

есть два скрипта. один загрузает иображение в БД.  второй - уменьшение размера и загрузка на сервер. можно ли их как нибудь соеденить?


Код

// Проверяем пришел ли файл
if( !empty( $_FILES['image']['name'] ) ) {
  // Проверяем, что при загрузке не произошло ошибок
  if ( $_FILES['image']['error'] == 0 ) {
    // Если файл загружен успешно, то проверяем - графический ли он
    if( substr($_FILES['image']['type'], 0, 5)=='image' ) {
      // Читаем содержимое файла
      $image = file_get_contents( $_FILES['image']['tmp_name'] );
      // Экранируем специальные символы в содержимом файла
      $image = mysql_escape_string( $image );
      // Формируем запрос на добавление файла в базу данных
      $query="UPDATE objects SET plan='".$image."' WHERE id=".$_GET['obj'];
      // После чего остается только выполнить данный запрос к базе данных
      mysql_query( $query );
    }
  }
}


Код

<?php
/**
* $filename string = 'img.jpg' - путь картинки
* $percent string = 300 - ширина уменьшенной копии картинки
* $quality string = 0-100 - качество изображения
**/
function resize ($filename, $size = 300, $quality = 85)
{
    $dir = '/images/'; // Адрес директории для сохранения картинки
    $ext = strtolower(strrchr(basename($filename), ".")); // Получаем формат уменьшаемого изображения
    $extentions = array('.jpg', '.gif', '.png', '.bmp'); // Определяем формат уменьшаемой картинки
        
    if (in_array($ext, $extentions)) {           
        $percent = $size; // Ширина изображения миниатюры
    
        list($width, $height) = getimagesize($fileaname); // Возвращает ширину и высоту картинки
        $newheight = $height * $percent;
        $newwidth = $newheight / $width; 
    
        $thumb = imagecreatetruecolor($percent, $newwidth);
        switch ($ext) {
            case '.jpg': $source = @imagecreatefromjpeg($filename); break;
            case '.gif': $source = @imagecreatefromgif($filename); break;
            case '.png': $source = @imagecreatefrompng($filename); break;
            case '.bmp': $source = @imagecreatefromwbmp($filename); break;
        }

        // php уменьшение изображения
        imagecopyresized($thumb, $source, 0, 0, 0, 0, $percent, $newwidth, $width, $height);
            
        // Создаем изображение
        switch ($ext) {
            case '.jpg': imagejpeg($thumb, $dir . $filename, $quality); // Для JPEG картинок
                         break;
                
            case '.gif': imagegif($thumb, $dir . $filename); // Для GIF картинки
                         break;
                
            case '.png': imagepng($thumb, $dir . $filename, $quality); // Для PNG картинок
                         break;
                
            case '.bmp': imagewbmp($thumb, $dir . $filename); // Для BMP картинки
                         break;
            }            
    } else return 'Error: type;'; 
    
    @imagedestroy($thumb);         
    @imagedestroy($source);  
        
    return $filename;
} 
?>


Это сообщение отредактировал(а) xrustic - 1.7.2010, 12:59
PM MAIL   Вверх
Hanut
Дата 2.7.2010, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 2.7.2010

Репутация: нет
Всего: 2



Функция resize() остается, как есть.
Код

$filename = './img.jpg'; // Исходная картинка.

if ($resize = resize ($filename)) {
  $image = file_get_contents($resize);
  // Удаляем временный файл.
  unlink($resize);
  // Экранируем специальные символы в содержимом файла
  $image = mysql_escape_string( $image );
  // Формируем запрос на добавление файла в базу данных
  $query="UPDATE objects SET plan='".$image."' WHERE id=".$_GET['obj'];
  // После чего остается только выполнить данный запрос к базе данных
  mysql_query( $query );
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0432 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.