проверить наличие изображения на удаленном сервере с помощью allow_url_fopen = off - PullRequest
0 голосов
/ 09 февраля 2012

Я работаю над сайтом, который извлекает изображения с сервера cdn, у которого allow_url_fopen отключен, значит allow_url_fopen = off.

Проблема в том, что перед показом изображения на главном сайте мы должны проверить наличие изображения на cdn-сервере. Если изображение существует, мы покажем его иначе.

file_exists и file_get_contents не будут работать, поскольку они требуют allow_url_fopen = on.

Есть ли другой способ сделать это ???

Любая помощь будет оценена.

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 февраля 2012

Вы можете использовать библиотеку CURL, чтобы получить файл через HTTP-метод.Если это используется, если файл существует, код состояния будет успешным, в противном случае будет возвращен не найденный код состояния.Другой вариант - использовать функцию библиотеки сокетов, такую ​​как fsockopen, для подключения к этому серверу и доступа к файлам через FTP, если он включен.

Просмотрите примеры, приведенные http://php.net/manual/en/function.fsockopen.php http://php.net/manual/en/function.fsockopen.php

0 голосов
/ 09 февраля 2012

Вы можете использовать cUrl:

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
if(empty($result)){die('No image');}
...