Автор
Тема:

Если размер изображения больше 200 килобайт - изменяет пропорционально до 80%

 (Прочитано 197 раз)

saitikdev

  • Administrator
  • Неплохо разбираюсь в сайтах
  • *****
  • Сообщений: 2073
  • Karma: +1000/-0
    • Просмотр профиля
Если размер изображения больше 200 килобайт - изменяет пропорционально до 80%

Скачаем по ссылке и сделаем:

Для реализации данной функциональности вам потребуется использовать библиотеку PHP для работы с изображениями, например, GD или Imagick. Вот пример кода, который позволяет уменьшить размер изображения до 80% от исходного размера, если его размер превышает 200 килобайт:

<?php 

$url 
'http://example.com/image.jpg';
$maxSize 200 1024// Максимальный размер в байтах (200 килобайт)

$headers get_headers($url1);

if (isset(
$headers['Content-Length'])) {
    
$size $headers['Content-Length'];

    if (
$size $maxSize) {
        
// Получаем изображение
        
$image file_get_contents($url);

        
// Создаем изображение из данных
        
$img imagecreatefromstring($image);

        
// Получаем новые размеры изображения (80% от исходного)
        
$newWidth imagesx($img) * 0.8;
        
$newHeight imagesy($img) * 0.8;

        
// Создаем новое изображение с новыми размерами
        
$newImg imagecreatetruecolor($newWidth$newHeight);
        
imagecopyresampled($newImg$img0000$newWidth$newHeightimagesx($img), imagesy($img));

        
// Сохраняем новое изображение
        
imagejpeg($newImg'new_image.jpg');

        echo 
"Изображение успешно уменьшено до 80% от исходного размера.";
    } else {
        echo 
"Размер изображения не превышает 200 килобайт.";
    }
} else {
    echo 
"Не удалось получить размер изображения.";
}

Этот код проверяет размер изображения по указанному URL и, если он превышает 200 килобайт, уменьшает его до 80% от исходного размера. Новое изображение сохраняется под именем new_image.jpg. Пожалуйста, убедитесь, что на вашем сервере установлена библиотека GD для работы с изображениями.



2) можно внутри сайта работать:

Если изображение находится внутри вашего сайта, то вы можете использовать функцию file_get_contents() для чтения файла и создания изображения. Вот пример кода, который уменьшает размер изображения до 80% от исходного размера, если его размер превышает 200 килобайт:

<?php 

$filePath 
'path/to/your/image.jpg'// Путь к изображению на сервере
$maxSize 200 1024// Максимальный размер в байтах (200 килобайт)

$image file_get_contents($filePath);

if (
$image !== false) {
    
$size strlen($image);

    if (
$size $maxSize) {
        
// Создаем изображение из данных
        
$img imagecreatefromstring($image);

        
// Получаем новые размеры изображения (80% от исходного)
        
$newWidth imagesx($img) * 0.8;
        
$newHeight imagesy($img) * 0.8;

        
// Создаем новое изображение с новыми размерами
        
$newImg imagecreatetruecolor($newWidth$newHeight);
        
imagecopyresampled($newImg$img0000$newWidth$newHeightimagesx($img), imagesy($img));

        
// Сохраняем новое изображение
        
imagejpeg($newImg'new_image.jpg');

        echo 
"Изображение успешно уменьшено до 80% от исходного размера.";
    } else {
        echo 
"Размер изображения не превышает 200 килобайт.";
    }
} else {
    echo 
"Не удалось прочитать изображение.";
}

Этот код читает изображение по указанному пути на сервере и, если его размер превышает 200 килобайт, уменьшает его до 80% от исходного размера. Новое изображение сохраняется под именем new_image.jpg. Пожалуйста, убедитесь, что на вашем сервере установлена библиотека GD для работы с изображениями.
Качественное SeoСео консультации - от специалиста с опытом более 10 лет | Рекомендуем - Лучший хостинг

 

Новые темы IT

Новые темы по Маркетингу