Как уменьшить размер больших изображений только в php?

У меня есть небольшой PHP-скрипт, который загружает все изображения, содержащиеся в папке (загрузки). Он также отображает их шириной 1080 пикселей независимо от размера изображения. Скрипт работает просто отлично. Чего я действительно хочу добиться, так это попытаться сжать только изображения размером больше 1080 и оставить все изображения меньшего размера (меньше 1080) такими, какие они есть (без изменения размера). Я пытался найти решение, но нашел только сложный скрипт с коэффициентом умножения. Я надеялся получить что-то похожее на тег CSS (max-width="1080"), который работает в php. Но я думаю, что в php нет тега максимальной ширины.

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

<?php
$files = glob("upload/*.*");
for ($i = 0; $i < count($files); $i++) {
    $image = $files[$i];
    echo basename($image) . "<br />";
    echo '<img src = "' . $image . '" width = "1080" alt = "Random image" />' . "<br /><br />";
}

?>
But this code below doesn't work.

if ($image_width < 1080)
{
    echo basename($image) . "<br />";
    echo '<img src = "' . $image . '" alt = "Random image" />' . "<br /><br />";
}

if ($image_width > 1080)
{
    echo basename($image) . "<br />";
    echo '<img src = "' . $image . '" width = "1080" alt = "Random image" />' . "<br /><br />";
}
I appreciate if anyone can fix it. Best regards.

Вы можете уменьшить изображение по-настоящему с помощью PHP, например, с помощью GD или imagick. Выполнение этого в HTML или CSS не является проблемой PHP.

Markus Zeller 06.07.2024 18:53

С помощью вашего кода вы ограничиваете размер отображения изображений, но не размер изображения (данных).

Wiimm 06.07.2024 23:18

Да все верно. Мне не нужно менять данные. Они нужны мне для архитектурных работ. Все, что мне нужно, это показать их маленькими. Но иногда у меня получаются эскизы на салфетках, которые маленькие и при раздувании искажаются. Код отлично работает с большими рисунками, но плохо работает с мелкими отпечатками. Надеюсь, мне удастся изменить его, чтобы исключить из кода маленькие изображения.

Dhirgham Murran 07.07.2024 02:35

Я пытался это сделать, но получаю синтаксическую ошибку. Я буду признателен, если кто-нибудь изменит следующий код. Я не эффективен в PHP-коде. Благодарен за любую помощь.

Dhirgham Murran 07.07.2024 18:18

В чем была проблема с max-width? Применить это должно быть довольно просто, jsfiddle.net/js3fbewz

CBroe 08.07.2024 08:19
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
5
60
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете сделать это:

<img src = "' . $image . '" alt = "Random image" style = "max-width:1080px;" />

Спасибо, сэр. Это действительно сработало. Такая небольшая модификация кода сделала свое дело. Он даже работал для настройки ширины экрана, установив style = "max-width:100%;". Еще раз спасибо.

Dhirgham Murran 17.07.2024 06:09

Привет, есть ли способ сначала отобразить самое новое изображение? Сортировка по отметке времени, а не по имени. Также как сделать базовое имя центрированным и увеличить размер шрифта. Я ценю любую помощь здесь. Спасибо.

Dhirgham Murran 18.07.2024 00:39

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

Siebe Jongebloed 18.07.2024 09:07

Другие вопросы по теме