If you want to be absolutely sure, and your PHP is enabled for remote
connections, you can just use "getimagesize('url')"
function validImage($url) {
return stripos(getimagesize($url)['mime'], 'image') === 0;
}
$image = validImage('http://www.example.com/image.jpg');
If it returns an array, it is an image type recognized by PHP, even if the
image extension is not in the url (per your second link). You have to keep in
mind that this method will make a remote connection for each request, so
perhaps cache urls that you already probed in a database to lower connections.