Upload Class PHP - Класс для работы с файлами
0

Upload Class PHP - Класс для работы с файлами

Настало время рассказать вам дорогие друзья про класс загрузки файлов, изображений и их обработки. Upload Class PHP - работает с версиями php начиная от 4 и вплоть до самой последний на данный момент (7 версии). Класс умеет многое, начиная от загрузки файлов и изображений и заканчивая конвертацией форматов, изменениями размеров, созданием копий, переименовыванием, накладыванием водяных знаков и многое другое. 

В данной статье я бы хотел рассказать о нем и показать его основные и самые популярные функции для рядового пользователя. Если вы создаете какой-то сайт, то вам возможно понадобится загрузка изображений или файлов, а соответственно чтобы облегчить написание кода, данный класс поможет вам. Переписывать всю документацию смысла нет, если конечно кому-то нужно будет, то пишите какие функции вас интересуют, дополню или статью или в комментариях отвечу.

 

Загрузка изображений на сайт через Class Upload PHP:

Для начала нужна форма, форма для примера будет самая стандартная:

<form enctype="multipart/form-data" method="post" action="upload.php">
    <input type="file" size="32" name="image">
    <input type="submit" name="submit" value="Загрузить">
</form>

Файл обработчик с подключенным классом загрузки (upload.php):

if (!empty($_FILES)) {
    // Подключаем файл (укажите полный путь до файла class.upload.php)
    include('class.upload.php');
 
    // Создадим объект класс, где $_FILES['image'] - изображение (может быть ссылкой или элементом массива $_FILES)
    $handle = new upload($_FILES['image']);
    if ($handle->uploaded) {
        // Переименовываем изображение
        $handle->file_new_name_body = 'new_file_name';
 
        // Во избежании загрузки изображений с одинаковыми названиями, добавляем дату в unix формате как префикс
        $handle->file_name_body_pre = strtotime(date("Y-m-d H:i:s")).'-';
 
        // Разрешаем изменять размер изображения
        $handle->image_resize = true;
 
        // Изменяем ширину изображения на 200px
        $handle->image_x = 200;
 
        // Изменяем высоту изображения на 200px
        $handle->image_y = 200;
 
        // Отключаем сохранение соотношения сторон в зависимости от ширины
        $handle->image_ratio_y = false;
 
        // Указываем путь к водяному знаку для изображения
        $handle->image_watermark = $_SERVER['DOCUMENT_ROOT'].'/images/watermark/watermark.png';
 
        // Загружаем изображения в папку images
        $handle->process($_SERVER['DOCUMENT_ROOT'].'/images/');
 
        // Обработаем и сохраним наш файл
        if ($handle->processed) {
            $handle->clean();
        } else {
            echo 'error : ' . $handle->error;
        }
    }
}

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

 

Переменные из документации Upload Class PHP:

 Переменные, которые можно просмотреть до обработки изображения и вызова $handle->Process([путь сохранения файла]): и до вызова $handle->clean():

  • $handle-> file_src_name – имя файла до обработки;
  • $handle->file_src_name_body – имя файла без расширения до обработки;
  • $handle->file_src_name_ext – расширение файла до обработки;
  • $handle->file_src_pathname – полный путь к файлу;
  • $handle->file_src_size – размер файла;
  • $handle->file_src_error – ошибка во время обработки/загрузки файла;
  • $handle->file_is_image – является ли файл изображением?
  • $handle->image_src_x – ширина изображения?
  • $handle->image_src_y – высота изображения?
  • $handle->image_src_pixels – сколько пикселей всего?
  • $handle->image_src_type – тип изображения.

 

Переменные, которые можно просмотреть после обработки изображения и вызова $handle->Process([путь сохранения файла]): и до вызова $handle->clean():

  • $handle-> file_dst_path – путь к файлу после обработки;
  • $handle->dst_name_body – имя файла без расширения после обработки;
  • $handle->file_dst_name_ext – расширение изображения после обработки;
  • $handle->file_dst_name – имя файла после обработки;
  • $handle->file_dst_pathname – полный путь к файлу после обработки;
  • $handle->image_dst_x – ширина обработанного изображения;
  • $handle->image_convert – тип преобразованного изображения.

 

Скачать с GitHub: Upload Class PHP

 

Вот пожалуй и все, все функции и методы данного класса вы можете найти в официальной документации. Но так как она на английском, то если вам будет непонятно что-то, пишите в комментарии, спрашивайте и будем вместе решать проблемы.

Запись опубликована В категории: PHP

Shnapik

Вебмастер с опытом ищет приют! Возьмите меня, а то меня рвут!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *