Web Мастерская»Блог

Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.

PHP: Как получить расширение файла по его номеру

PHP
В PHP номер формата изображения (константы типа IMAGETYPE_*) можно преобразовать в соответствующее расширение файла с помощью массива, связывающего номера с расширениями. Приведу простой и удобный способ, как это сделать.

Пример:
// Массив, связывающий номера форматов с соответствующими расширениями
$extensions = [
    IMAGETYPE_GIF   => 'gif',
    IMAGETYPE_JPEG  => 'jpg',
    IMAGETYPE_PNG   => 'png',
    IMAGETYPE_SWF   => 'swf',
    IMAGETYPE_PSD   => 'psd',
    IMAGETYPE_BMP   => 'bmp',
    IMAGETYPE_TIFF_II => 'tif',
    IMAGETYPE_TIFF_MM => 'tif',
    IMAGETYPE_JPC   => 'jpc',
    IMAGETYPE_JP2   => 'jp2',
    IMAGETYPE_JPX   => 'jpx',
    IMAGETYPE_JB2   => 'jb2',
    IMAGETYPE_SWC   => 'swc',
    IMAGETYPE_IFF   => 'iff',
    IMAGETYPE_WBMP  => 'wbmp',
    IMAGETYPE_XBM   => 'xbm',
    IMAGETYPE_ICO   => 'ico',
    IMAGETYPE_WEBP  => 'webp'
];

// Пример использования
$imageInfo = getimagesize('image.png');
$extension =
...

PHP: Преобразование изображений GIF, JPG, JPEG и PNG в формат WEBP

WEBP — это формат изображений, разработанный компанией Google, который отличается небольшим размером файлов и качественным сохранением исходных данных. Переход на WEBP позволяет ускорить загрузку веб-страниц и сэкономить трафик. В этой статье мы рассмотрим, как с помощью PHP реализовать конвертацию изображений из популярных форматов (GIF, JPG, JPEG, PNG) в формат WEBP.



Почему стоит использовать WEBP?


Преимуществом формата WEBP является значительное уменьшение объёма изображений без существенной потери качества. Благодаря этому сайты загружаются быстрее, а мобильные пользователи экономят трафик. WEBP поддерживается большинством современных браузеров, включая Chrome, Opera, Firefox и Edge.

Требования и подготовка среды


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

PHP: Как разделить строку в массив

PHP
В PHP строки можно разделить на элементы массива различными методами. Рассмотрим самые распространенные способы разделения строк:

Функция explode()


Функция explode() используется для разделения строки на части по заданному разделителю:
$string = "apple,banana,cherry";
$array = explode(",", $string);
print_r($array);

Результат:
Array(
    [0] => apple
    [1] => banana
    [2] => cherry
)

Функция preg_split()


Регулярное выражение может использоваться для более сложных случаев разделения:
$string = "apple-banana-cherry";
$array = preg_split("/-/", $string);
print_r($array);

Результат:
Array(
    [0] => apple
    [1] => banana
    [2] => cherry
)

Функция str_getcsv()


Эта функция полезна для CSV-подобных строк, разделенных запятыми или табуляциями:
$string = "apple,banana,\"green, grape\",cherry";
$array = str_getcsv($string);
print_r($array);

Результат:
Array(
    [0] => apple
    [1] => banana
    [2] => green, grape
    [3] => cherry
)

Функция str_split()


Делит строку...

Как запретить прямой просмотр изображений на PHP и Nginx

Запрет просмотра определенных изображений через PHP — это эффективный способ контроля доступа к контенту на вашем сайте. Это может быть полезно для защиты конфиденциальных данных, ограничения доступа к изображениям для определенных пользователей или групп, а также для предотвращения несанкционированного использования контента. В этой статье мы рассмотрим, как настроить запрет просмотра изображений с помощью PHP и Nginx.

Обязательно к прочтению:


Зачем использовать PHP для контроля доступа?


PHP позволяет вам выполнять логику на стороне сервера перед тем, как вернуть изображение пользователю. Это дает вам возможность:
  • Проверять авторизацию: Убедиться, что пользователь авторизован для просмотра изображения.
  • Ограничивать доступ: Запрещать доступ к определенным изображениям для определенных пользователей или групп.
  • Логировать запросы: Записывать, кто и когда пытался
...

Оптимизация PHP-кода: Повышаем производительность Вашего проекта

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

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

Методы оптимизации PHP-кода

Минимизация операций с файлами и директориями


Читайте файлы только тогда, когда это действительно необходимо. Используйте буферизацию вывода (ob_start()) и кэшируйте статичные элементы (например, шаблоны и контент).
// Пример кеширования результата выполнения
$cache = new APCUCache();

if ($cache->contains('data')) {
    echo $cache->fetch('data');
} else {
    // Генерация данных
    $result = generateData();
    $cache->store('data', $result);
}

Правильное исполь

...