php 判断网络图片是否存,PHP判断远程图片或文件或url是否存在-180

PHP判断远程图片或文件或url是否存在-180

我通常使用curl判断判断远程图片或文件是否存在:

/**

* @link http://www.phpddt.com

*/

function url_exists($url) {

$ch = curl_init();

curl_setopt ($ch, CURLOPT_URL, $url);

//不下载

curl_setopt($ch, CURLOPT_NOBODY, 1);

//设置超时

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 3);

curl_setopt($ch, CURLOPT_TIMEOUT, 3);

curl_exec($ch);

$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if($http_code == 200) {

return true;

}

return false;

}

当然也有很多其它方法,或多或少有些限制和缺陷,如:

(1)使用fopen()函数,它要在allow_url_open开启的状态下,否则会报错。

$url = 'http://www.phpddt.com/img/qrcode_for_phpddt.JPG';

if(@fopen($url, 'r')) {

echo '文件存在';

} else {

echo '文件不存在';

}

(2)get_headers取得服务器响应一个 HTTP 请求所发送的所有标头,效率较低,你可以测试下。

$url = 'http://www.phpddt.com/img/qrcode_for_phpddt.JPG';

stream_context_set_default(

array(

'http' => array(

'timeout' => 1,

)

)

);

$headers = get_headers($url);

if(preg_match('/200/',$headers[0])) {

echo '文件存在';

} else {

echo '文件不存在';

}

(3)file_get_contents()函数

$opts = array(

'http'=>array(

'timeout'=>3,

)

);

$context = stream_context_create($opts);

$resource = @file_get_contents('http://www.phpddt.com/img/qrcode_for_phpddt.JPG', false, $context);

if($resource) {

echo '文件存在';

} else {

echo '文件不存在';

}

©著作权归作者所有:来自51CTO博客作者DaddysGirl的原创作品,如需转载,请注明出处,否则将追究法律责任

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/419701.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js Date对象总结

Date在js中和Array类似,都是拥有自己的特殊方法的特殊对象。 由于平常用到Date着实不多,对它的了解颇浅。上周被问到怎么样获取某年某个月的天数,我当时想了一会儿,回答说有两种,一种自己写判断闰年的逻辑,…

php openssl做什么,php开启openssl的方法

php开启openssl的方法关注:294 答案:2 mip版解决时间 2021-02-02 21:13提问者笑低了眉眼2021-02-02 05:23我是一个小白,对于php完全不懂,所以希望大神能给我写一个傻瓜教程。php.ini在哪啊,怎么修改啊什么的都不懂。该用什么做什么&#xf…

LightOJ 1422 区间DP Halloween Costumes

d(i, j)表示第i天到第j天至少要穿多少件衣服。 先不考虑第i天和后面 i1 ~ j 天的联系,那就是至少要穿 1 d(i1, j)件衣服。 再看状态转移,如果后面第k(i1 ≤ k ≤ j)天所穿的衣服和第i天一样的话,那么完全可以把第i1~k-1天所穿的衣服脱下来。…

使用php创建一个注册表单,如何实现一个简单的注册表单

创建一个注册表单是非常容易的 - 它事实上意味着,你只需要创建一个表单,表单将更新一些User的模型对象(这个例子是一个Doctrine实体)并保存它。受欢迎的FOSUserBundle 提供了一个注册表单,重置密码表单和其他用户管理功能。如果你先前没有一个…

php 图片不让下载,php让图片可以下载的方法

php让图片可以下载的方法发布于 2014-10-04 11:16:18 | 102 次阅读 | 评论: 0 | 来源: 网友投递PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,…

while语法php格式,PHP While 循环

循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块。PHP 循环在您编写代码时,您经常需要让相同的代码块一次又一次地重复运行。我们可以在代码中使用循环语句来完成这个任务。在 PHP 中,提供了下列循环语句:while–…

【转】一句话的设计模式

转自:http://www.cnblogs.com/lzhlyle/p/4696645.html 如题,实际上,我想这是很困难的。 除非——只是为了给自己做一个提醒,能够看一眼就快速回想起该设计模式的种种记忆。 下列是我之前在学习《大话设计模式》时做的笔记总结&…

php代码导入sql,php导入SQL文件(示例代码)

/*************PHP导入.sql文件运行版本:php5,php4作者:panxp邮件:coolpan123gmail.com*编辑整理:bbs.it-home.org**************/$host "localhost";$user "root";$pwd "";$file_dir dirname(__FILE__);$file_name "bar.s…

jQuery遍历Json数组

var jsonArray [{ "name": "张三", "password": "123456"},{ "name": "李四", "password": "123456"}]; $.each(obj, function (n, value) { n:数组中的位置; val…

php自动获取m3u8,PHP自动Get监控源码分享

使用方法:创建个PHP文件放到你的网站根目录里面,访问后不会出现结果,等待个20秒左右关闭页面,就会自动执行了。如果不重启php服务器 或者重启服务器,get监控一直会处于运行状态。测试了一下 秒赞网的监控,效…

Vertex and Fragment Shader

Semantics语义词:   定义:GPU工作时,数据通常暂存在寄存器,那么在Cg中,语义词就指定了输入/输出数据和图形硬件寄存器之间的映射关系。   原理:根据输入语义,图形处理器从某个寄存器取数据&…

linux php cgi.sock,nginx中unix:/tmp/php-cgi.sock错误解决解决

出现这种问题一般是因为/tmp/php-cgi.sock功能是负责流量最主要的特征就是unix socket比tcp快,下面来解决办法。首先建立/tmp/php-cgi.sock文件,然后将之改所有者改为www-data:#我直接改成nginx的用户,好像必须要属于nginx的用户组才能正常使…

erlang套接字

Erlang的套接字可以有三种打开模式:主动(active)、单次主动(active once)或被动(passive)。这是通过在gen_tcp:connect(Address, Port, Options)或gen_tcp:listen(Port, Options)的Options参数里…

php 类学习,php的类学习(一)

function __autoload($class_name){//require_once语句在脚本执行期间包含并运行指定文件。此行为和 require()语句完全相同,唯一区别是如果该文件中的代码已经被包含了,则不会再次包含require_once $class_name . .php;}$obj new testAAA();$obj2new ty…

前端学习(1575):复习todoMVC

系统再演示一下angular的实现原理流程 分装实现 两个文件 js和html

蛋疼的中文编码及其计算机编码历史

更好的博客:http://my.oschina.net/goldenshaw/blog?catalog536953 一:编码发展: 1 ANSI编码:计算机在美国出现,使用单字节8位编码,共可以表示255个状态。(0-32(0x00-0x20&#xff…

java异常处理机简答题,【简答题】JAVA 语言如何进行异常处理,关键字: throws,throw,try,catch,finally 分别代表什么意义?...

【简答题】JAVA 语言如何进行异常处理,关键字: throws,throw,try,catch,finally 分别代表什么意义?更多相关问题用蒸汽进行设备管线吹扫时,应将被吹扫的设备管线,相应部位仪表引线阀关闭,防止损坏仪表。()铝壶内装有2.5kg的水,其温…