php篩選不存在的圖片資源
方法一:
最簡單的方法就是用fopen(),看看文件能否打開,能打就文件當然就存在。
<?php
$url = 'http://www.dhdzp.com/images/test.jpg';
if( @fopen( $url, 'r' ) )
{
echo 'File Exits';
}
else
{
echo 'File Do Not Exits';
}
?>
方法二:
/**
* 篩選不存在的圖片資源
*
* @author wanggeng <wanggeng123@vip.qq.com>
* @return vodi
*/
private static function _checkAll($url)
{
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_NOBODY, true);
$result = false;
$res = curl_exec($curl);
if ($res !== false){
$statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if($statusCode == 200) {
$result = true;
}
}
curl_close($curl);
return $result;
}
首先建立一個curl鏈接到執(zhí)行的url也就是圖片或者文件的鏈接
初始一個變量為false
或者打開鏈接的head頭信息 每一個http請求都會有一個http Code
我們就根據(jù)這個code去驗證
如果返回code 是200 證明資源存在 給之前的變量一個true的值 否則不予賦值
方法三:
CURL 方法
CURL是個很好用的類庫,下面看下如何用它來判斷。
<?php
$url2 = 'http://www.dhdzp.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 '文件不存在';
}
?>
curl_exec()執(zhí)行完之后如果文件不存在,會返回如下信息:
HTTP/1.1 404 Not Found Date: Tue, 14 Feb 2012 05:08:34 GMT Server: Apache Accept-Ranges: bytes Content-Length: 354 Content-Type: text/html
用正則看看是否有404,有的話文件就不存在。
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
Zend Framework教程之Application和Bootstrap用法詳解
這篇文章主要介紹了Zend Framework教程之Application和Bootstrap用法,結(jié)合實例形式詳細分析了Application和Bootstrap的功能,使用技巧與相關(guān)注意事項,需要的朋友可以參考下2016-03-03
PHP之使用swoole統(tǒng)計在線人數(shù)和ID案例講解
這篇文章主要介紹了PHP之使用swoole統(tǒng)計在線人數(shù)和ID案例講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08
laravel開發(fā)環(huán)境homestead搭建過程詳解
Laravel Homestead 是一個官方預(yù)封裝的 Vagrant box ,它為你提供了一個完美的開發(fā)環(huán)境,你不需要在本地機器安裝 PHP、web 服務(wù)器和其他的服務(wù)器軟件,這篇文章主要介紹了laravel開發(fā)環(huán)境homestead搭建,需要的朋友可以參考下2020-07-07
AMFPHP php遠程調(diào)用(RPC, Remote Procedure Call)工具 快速入門教程
AMFPHP是PHP的遠程調(diào)用(RPC, Remote Procedure Call)工具。2010-05-05
CodeIgniter框架數(shù)據(jù)庫基本操作示例
這篇文章主要介紹了CodeIgniter框架數(shù)據(jù)庫基本操作,結(jié)合實例形式分析了CodeIgniter框架針對mysql數(shù)據(jù)庫的配置、用戶注冊、信息查詢、修改及刪除等基本操作技巧,需要的朋友可以參考下2018-05-05
ThinkPHP3.2框架自帶分頁功能實現(xiàn)方法示例
這篇文章主要介紹了ThinkPHP3.2框架自帶分頁功能實現(xiàn)方法,結(jié)合實例形式分析了thinkPHP框架自帶分頁功能相關(guān)布局、樣式及后臺操作實現(xiàn)技巧,需要的朋友可以參考下2019-05-05

