php判断本地及远程文件是否存在

php判断本地及远程文件是否存在本文介绍使用 php 判断文件是否存在的方法 支持本地及远程文件判断 提供完整调用代码及演示

1.判断本地文件是否存在

判断本地文件是否存在,可以使用file_exists方法判断。

<?php $file = 'test.jpg'; var_dump(file_exists($file)); ?>

2.判断远程文件是否存在

判断远程文件是否存在,不能使用file_exists方法,而是获取远程文件的header来判断是否存在,如存在返回的HTTP_CODE是200304

<?php // 屏蔽域名不存在等访问问题的警告 error_reporting(E_ALL ^ (E_WARNING|E_NOTICE)); $remote_file = 'http://www.csdn.net/css/logo.png'; $header = get_headers($remote_file, true); var_dump(isset($header[0]) && (strpos($header[0], '200') || strpos($header[0], '304'))); ?>

3.完整代码

<?php / * 判断文件是否存在,支持本地及远程文件 * @param String $file 文件路径 * @return Boolean */ function check_file_exists($file){ 
     // 远程文件 if(strtolower(substr($file, 0, 4))=='http'){ $header = get_headers($file, true); return isset($header[0]) && (strpos($header[0], '200') || strpos($header[0], '304')); // 本地文件 }else{ return file_exists($file); } } // 屏蔽域名不存在等访问问题的警告 error_reporting(E_ALL ^ (E_WARNING|E_NOTICE)); $file1 = 'test.jpg'; $file2 = 'http://www.csdn.net/css/logo.png'; var_dump(check_file_exists($file1)); // false var_dump(check_file_exists($file2)); // true ?>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232900.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Vue 父组件向子组件传递动态参数,子组件如何实时更新[通俗易懂]

    项目问题介绍:父组件中填入各种查询条件,点击查询按钮查出符合条件的数据。其中,数据列表是引入的子组件。第一次加载的时候,子组件数据正常显示,再次查询的时候子组件怎么实现实时更新呢?解决办法:子组件watch中(监听)父组件数据的变化以自己的项目为例:父组件:这是父组件中如何引用的子组件。testParams是我需要传过去的参数对象。参数名是params。子组…

    2022年4月13日
    257
  • c语言里void什么作用,C语言中void是什么意思?

    c语言里void什么作用,C语言中void是什么意思?C语言中void是什么意思?C语言中“void”表示为无类型,相应的“void*”为无类型指针,常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明,其作用是对函数返回和参数的进行限定。C语言关键字auto:声明自动变量break:跳出当前循环case:开关语句分支char:声明字符型变量或函数返回值类型const:声明只读变量continue:结束当前循环,开始下一轮循环…

    2022年5月12日
    55
  • RGBD融合原理及实践[通俗易懂]

    RGBD融合原理及实践[通俗易懂]RGBD融合原理及实践前言原理部分实践前言好久没更新博客了,主要是因为懒,最近有些得闲,决定纪录下之前的工作。RT,RGBD数据融合其实就是将3D摄像机的RGB与Depth数据做融合显示的过程,做法也不难理解,就是将depthcamera与rgbcamera的像素对应起来即可。原理部分原理部分主要借鉴这篇博文,详细的公式在这就不作重复了,贴张图吧。从上面的博客或图片可以看出,…

    2022年9月17日
    2
  • 20款优秀的基于浏览器的在线代码编辑器「建议收藏」

    20款优秀的基于浏览器的在线代码编辑器「建议收藏」20款优秀的基于浏览器的在线代码编辑器1.CompilrCompilr是一个在线编译器和在线IDE。可以用它来开发PHP,C,C++,Ruby。在浏览器中编译Java,C#和VB.net等。马上使用2.Dabblet跨浏览器兼容,对前端攻城师们来说是一个不得不处理的问题。为了在浏览器间呈现统一的显示效果,攻城师们不仅要为每个游览器添加CSS前缀,甚至还需要用到一…

    2022年6月26日
    101
  • wed后端和java的区别_web前端和web后端的区别详细分析

    wed后端和java的区别_web前端和web后端的区别详细分析原标题:web前端和web后端的区别详细分析在刚开始从事web开发时,首先要选准学习方向,看是想从事前端部分还是后端程序部分。当然在工作的后期,就不会分的那么细致了。做前端到后期也会懂一些后端的技术,反之,后端也是。本文创客学院讲师解析一下web前端和后端的区别有哪些?web前端和web后端的区别详细分析:Web前端:1.精通HTML,能够书写语义合理,结构清晰,易维护的HTML结构。2.精…

    2022年6月21日
    21
  • 有关XCode6(iOS8)UITableViewCell与iOS7在UITableViewCell问题

    有关XCode6(iOS8)UITableViewCell与iOS7在UITableViewCell问题

    2022年1月6日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号