Методы проверки того, является ли ссылка изображением или URL-адресом с использованием PHP

Чтобы проверить, является ли ссылка изображением или URL-адресом, используя PHP, вы можете использовать несколько методов. Вот несколько примеров кода:

  1. Использование функции getimagesize():
    Функция getimagesize() в PHP возвращает размер изображения вместе с его типом файла. Вы можете использовать его, чтобы определить, указывает ли ссылка на изображение или нет.
function isImage($url) {
    $headers = get_headers($url);
    $content_type = '';
    foreach ($headers as $header) {
        if (strpos($header, 'Content-Type') !== false) {
            $content_type = $header;
            break;
        }
    }
    if (strpos($content_type, 'image') !== false) {
        return true;
    }
    return false;
}
$url = 'https://example.com/image.jpg';
if (isImage($url)) {
    echo 'The link is an image.';
} else {
    echo 'The link is not an image.';
}
  1. Использование функции exif_imagetype():
    Функция exif_imagetype() в PHP проверяет тип файла изображения, используя информацию его заголовка. Он возвращает тип изображения или false, если файл не является допустимым изображением.
function isImage($url) {
    $image_type = exif_imagetype($url);
    if ($image_type !== false) {
        return true;
    }
    return false;
}
$url = 'https://example.com/image.jpg';
if (isImage($url)) {
    echo 'The link is an image.';
} else {
    echo 'The link is not an image.';
}
  1. Использование cURL и проверка заголовка Content-Type:
    Вы можете использовать cURL для получения заголовков URL-адреса, а затем проверить заголовок Content-Type, чтобы определить, является ли это изображением или нет.
  2. >

function isImage($url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_NOBODY, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_exec($ch);
    $content_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
    curl_close($ch);
    if (strpos($content_type, 'image') !== false) {
        return true;
    }
    return false;
}
$url = 'https://example.com/image.jpg';
if (isImage($url)) {
    echo 'The link is an image.';
} else {
    echo 'The link is not an image.';
}

Это всего лишь несколько способов проверить, является ли ссылка изображением или URL-адресом с помощью PHP. Вы можете выбрать метод, который соответствует вашим требованиям, и реализовать его соответствующим образом.