PHPでリンクが画像かURLかをチェックする方法


  1. MIMEタイプを使用して画像を識別する方法:
function isImage($url) {
    $headers = get_headers($url, 1);
    if (isset($headers['Content-Type']) && strpos($headers['Content-Type'], 'image/') === 0) {
        return true;
    }
    return false;
}
$link = 'https://example.com/image.jpg';
if (isImage($link)) {
    echo 'リンクは画像です。';
} else {
    echo 'リンクは画像ではありません。';
}
  1. ファイルの拡張子を使用して画像を識別する方法:
function isImage($url) {
    $imageExtensions = ['jpg', 'jpeg', 'png', 'gif'];
    $extension = pathinfo($url, PATHINFO_EXTENSION);
    if (in_array(strtolower($extension), $imageExtensions)) {
        return true;
    }
    return false;
}
$link = 'https://example.com/image.jpg';
if (isImage($link)) {
    echo 'リンクは画像です。';
} else {
    echo 'リンクは画像ではありません。';
}
  1. URLの形式を使用して画像を識別する方法:
function isImage($url) {
    $urlParts = parse_url($url);
    if ($urlParts && isset($urlParts['path'])) {
        $extension = pathinfo($urlParts['path'], PATHINFO_EXTENSION);
        $imageExtensions = ['jpg', 'jpeg', 'png', 'gif'];
        if (in_array(strtolower($extension), $imageExtensions)) {
            return true;
        }
    }
    return false;
}
$link = 'https://example.com/image.jpg';
if (isImage($link)) {
    echo 'リンクは画像です。';
} else {
    echo 'リンクは画像ではありません。';
}

これらの方法を使って、与えられたリンクが画像かURLかを判定することができます。選択肢に応じて、最適な方法を選んでください。