недавно понадобилась такая функция,Изначально я хотел использовать file_exists() для определения локальных файлов.,Но то, что я заполнил в качестве адреса,“http://zezeshe.com/usr/themes/Themia/img/sj/85.jpg”Этот парень,Из-за моего неправильного заполнения,Заставил меня думать, что это вина Хозяина.,Поэтому вместо этого используйте fopen(), он отлично работает на моем корейском хосте, но не работает на хосте в Гонконге, где расположен мой блог. Я обратился в службу поддержки, и они сказали, что это @. Этот символ уничтожит все возвраты. Рекомендуется использовать CURL. Метод, прежде чем я начал его использовать, служба поддержки снова сказала: вы не хотите судить локальные файлы, не так ли? Мой ответ, конечно, да. Служба поддержки сказала, что просто используйте метод file_exists(), а затем я отправил неправильный способ написания и поставил под сомнение его, а затем служба поддержки сообщила мне о проблеме.
Как {новичок|да бай}, я имею смелость помнить об этой ошибке, поэтому написание такой статьи также может помочь вам, также новичку.
Для файлов локального сервера
<?php
$url = 'usr/themes/Themia/img/sj/85.jpg';
if( file_exists($url) )
{
echo 'существовать';
}
else
{
echo 'не существует';
}
?>
Решение удаленных файлов метод fopen():
<?php
$url = 'http://zezeshe.com/test.jpg';
if( @fopen( $url, 'r' ) )
{
echo 'существовать';
}
else
{
echo 'не существует';
}
?>
CURL-метод:
<?php
$url2 = 'http://www.zezeshe.com/test.jpg';
$ch = curl_init();
$timeout = 10;
curl_setopt ($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$contents = curl_exec($ch);
//echo $contents;
if (preg_match("/404/", $contents)){
echo «Файл не существует»;
}
?>