php篩選不存在的圖片資源
方法一:
最簡(jiǎn)單的方法就是用fopen(),看看文件能否打開(kāi),能打就文件當(dāng)然就存在。
<?php
$url = 'http://www.fzitv.net/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;
}
首先建立一個(gè)curl鏈接到執(zhí)行的url也就是圖片或者文件的鏈接
初始一個(gè)變量為false
或者打開(kāi)鏈接的head頭信息 每一個(gè)http請(qǐng)求都會(huì)有一個(gè)http Code
我們就根據(jù)這個(gè)code去驗(yàn)證
如果返回code 是200 證明資源存在 給之前的變量一個(gè)true的值 否則不予賦值
方法三:
CURL 方法
CURL是個(gè)很好用的類庫(kù),下面看下如何用它來(lái)判斷。
<?php
$url2 = 'http://www.fzitv.net/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í)行完之后如果文件不存在,會(huì)返回如下信息:
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,有的話文件就不存在。
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
相關(guān)文章
Zend Framework教程之Application和Bootstrap用法詳解
這篇文章主要介紹了Zend Framework教程之Application和Bootstrap用法,結(jié)合實(shí)例形式詳細(xì)分析了Application和Bootstrap的功能,使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-03-03
Yii實(shí)現(xiàn)的多級(jí)聯(lián)動(dòng)下拉菜單
這篇文章主要介紹了Yii實(shí)現(xiàn)的多級(jí)聯(lián)動(dòng)下拉菜單,包括視圖、模型及控制器的相關(guān)實(shí)現(xiàn)代碼,涉及基于Yii的數(shù)據(jù)庫(kù)查詢、數(shù)組遍歷與數(shù)據(jù)顯示等相關(guān)操作技巧,需要的朋友可以參考下2016-07-07
PHP之使用swoole統(tǒng)計(jì)在線人數(shù)和ID案例講解
這篇文章主要介紹了PHP之使用swoole統(tǒng)計(jì)在線人數(shù)和ID案例講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
laravel開(kāi)發(fā)環(huán)境homestead搭建過(guò)程詳解
Laravel Homestead 是一個(gè)官方預(yù)封裝的 Vagrant box ,它為你提供了一個(gè)完美的開(kāi)發(fā)環(huán)境,你不需要在本地機(jī)器安裝 PHP、web 服務(wù)器和其他的服務(wù)器軟件,這篇文章主要介紹了laravel開(kāi)發(fā)環(huán)境homestead搭建,需要的朋友可以參考下2020-07-07
AMFPHP php遠(yuǎn)程調(diào)用(RPC, Remote Procedure Call)工具 快速入門教程
AMFPHP是PHP的遠(yuǎn)程調(diào)用(RPC, Remote Procedure Call)工具。2010-05-05
CodeIgniter框架數(shù)據(jù)庫(kù)基本操作示例
這篇文章主要介紹了CodeIgniter框架數(shù)據(jù)庫(kù)基本操作,結(jié)合實(shí)例形式分析了CodeIgniter框架針對(duì)mysql數(shù)據(jù)庫(kù)的配置、用戶注冊(cè)、信息查詢、修改及刪除等基本操作技巧,需要的朋友可以參考下2018-05-05
ThinkPHP3.2框架自帶分頁(yè)功能實(shí)現(xiàn)方法示例
這篇文章主要介紹了ThinkPHP3.2框架自帶分頁(yè)功能實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了thinkPHP框架自帶分頁(yè)功能相關(guān)布局、樣式及后臺(tái)操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-05-05

