Я использую код ниже, и он работает для меня, но большинство из нас знает, что мы не можем доверять fopen
, потому что это не всегда хорошо работает на внешних файлах. Итак, мой вопрос заключается в том, какие другие методы я могу использовать для проверки наличия внешнего URL-адреса?Каковы лучшие способы проверки наличия внешнего файла образа?
Я знаю, что это можно сделать с помощью cURL, и я мог проверить размер изображения, но мне было интересно, как другие кодеры разрешат это и как лучше всего это сделать.
Обязательно: Если изображение доступно, эхо-код изображения и если изображение не доступно, эхо-код текстовой ссылки, как в приведенном ниже рабочем примере.
<?php
// Set the beyondsecurity.com image URL you want to connect to...
$url = "https://secure.beyondsecurity.com/verification-images/www.largevideotube.com/vulnerability-scanner-2.gif";
// Check to see if the beyondsecurity.com image URL exists by trying to open it for read only..
if (fopen($url, "r")) {
// echo the beyondsecurity.com image link if I was able to open the beyondsecurity.com image URL for read only..
echo '<a href="http://www.beyondsecurity.com/vulnerability-scanner-verification/www.largevideotube.com"><img src="https://secure.beyondsecurity.com/verification-images/www.largevideotube.com/vulnerability-scanner-2.gif" alt="Website Security Test" /></a>';
} else {
// echo a text link if it took to many time to open the file or if it wasn't there at all..
echo '<a href="http://www.beyondsecurity.com/vulnerability-scanner-verification/www.largevideotube.com">Website Security Test</a>';
}
?>
file_exists() работает на удаленных серверах до –
Определите «лучше». Что случилось с тем, что у вас есть? –
@ Dagon: Да, я знаю, но 'file_exists()' также не всегда находится на внешних файлах. – jagb