`

PHP中判断远程文件或本地文件是否存在

 
阅读更多

//判断远程文件是否存在
/*
  函数:remote_file_exists
  功能:判断远程文件是否存在
  参数: $url_file - 远程文件URL
        $flag  - true为判断远程文件,false为判断非远程文件
  返回:存在返回true,不存在或者其他原因返回false
*/	
function remote_file_exists($url_file,$flag = true){
    if($flag == true){ //默认是判断远程文件
        //检测输入
        $url_file = trim($url_file);
        if (empty($url_file)) { return false; }
        $url_arr = parse_url($url_file);
        if (!is_array($url_arr) || empty($url_arr)){ return false; }

        //获取请求数据
        $host = $url_arr['host'];
        $path = $url_arr['path'] ."?". $url_arr['query'];
        $port = isset($url_arr['port']) ? $url_arr['port'] : "80";

        //连接服务器
        $fp = fsockopen($host, $port, $err_no, $err_str, 30);
        if (!$fp){ return false; }

        //构造请求协议
        $request_str = "GET ".$path." HTTP/1.1\r\n";
        $request_str .= "Host: ".$host."\r\n";
        $request_str .= "Connection: Close\r\n\r\n";

            //发送请求
        fwrite($fp, $request_str);
            $first_header = fgets($fp, 1024);
        fclose($fp);

        //判断文件是否存在
        if (trim($first_header) == ""){ return false; }
        if (!preg_match("/200/", $first_header)){
                return false;
        }
        return true;
    }else if($flag == false){  //非远程文件
        return file_exists($url_file);
    }
}
 
分享到:
评论

相关推荐

    Javascript判断文件是否存在(客户端/服务器端)

    根据HTTP响应状态码,可以判断远程文件是否存在。`readyState`为4表示请求已完成,而`status`为200通常表示请求成功,即文件存在;404表示文件未找到,即文件不存在。需要注意的是,同步请求会阻塞JavaScript的执行...

    PHP下载远程图片到本地类.zip

    在"php中文网免费下载站.txt"和"php中文网下载站.url"这两个文件中,可能包含了关于这个类库的更多介绍、使用示例或PHP中文网的相关链接。"php中文网免费下载站.txt"可能是对下载站的一份简短说明,而".url"文件则是...

    PHP判断远程图片或文件是否存在的实现代码

    本文介绍了一种在PHP中判断远程图片或文件是否存在的方法。核心在于使用PHP内置的文件处理函数fopen(),该函数尝试打开一个文件或者网络上的一个URL。如果文件或URL不存在或无法访问,fopen()将会失败并返回FALSE。 ...

    php下载远程文件类(支持断点续传)

    - 在PHP中,可以通过检测`$_SERVER['HTTP_RANGE']`来判断是否请求了断点续传。 2. **速率计算与控制**: - 可以通过记录已传输的数据量和时间来计算传输速率。 - 控制速率通常需要在发送数据之前进行延时处理,...

    php获取远程文件的内容和大小

    本文实例总结了php获取远程文件的内容和大小的方法。分享给大家供大家参考。具体如下: 1、获取远程文件内容的方法 2、获取远程文件大小的方法 ...修改加强版php下利用curl判断远程文件是否存在的实现代码PHP

    浅谈php fopen下载远程文件的函数

    在循环中,`feof()` 函数用于判断远程文件是否已读取到末尾。如果没有,`fread()` 读取1024 * 8字节的数据,并用 `fwrite()` 将这些数据写入本地文件。这个过程一直持续到文件完全读取并写入。 最后,如果所有操作...

    PHP判断网络文件是否存在的方法

    总结来说,PHP判断网络文件是否存在有多种方法,包括使用`file_get_contents`、cURL或`get_headers`。每种方法都有其优缺点,开发者应根据实际需求和服务器环境选择合适的方法。在处理大量文件或性能敏感的场景下,...

    php file_exists 检查文件或目录是否存在的函数

    PHP中的file_exists函数是一个非常实用的内置函数,它能够检查指定的文件或目录是否存在。当文件或目录存在时,该函数会返回一个布尔值TRUE;如果不存在,则返回FALSE。这个函数不仅可以在本地服务器上使用,而且还...

    使用ThinkPHP自带的Http类下载远程图片到本地的实现代码

    在这个过程中,首先会对数据库进行查询,判断数据库中是否已经存在该ISBN对应的图片信息。如果不存在,则会通过调用QueryAmazon类的getImage方法来从Amazon的Web服务中获取远程图片的URL地址。 在获取远程图片URL...

    TP5php通用远程升级解决方案.zip

    在IT行业中,软件更新与维护是不可或缺的一环,特别是对于Web应用来说,远程升级方案可以确保应用程序始终处于最新状态,提高安全性,修复漏洞,添加新功能。本篇文章将围绕"TP5php通用远程升级解决方案"这一主题,...

    php远程下载类分享

    首先,文章中定义了一个名为`HttpDownload`的类,这个类中包含了一些私有变量,用于存储远程文件的各种组成部分,比如URL、路径、协议等。类中的构造函数并没有明确给出,但通过方法`PrivateInit`可以看出,类的初始...

    PHP实例开发源码-Favicon.ico远程获取插件 php版.zip

    4. **文件保存** - 将获取的二进制数据写入本地文件系统,文件名通常为"Favicon.ico"。 5. **响应头解析** - 获取HTTP响应头,判断文件类型和状态码,确保成功下载。 **可能的代码实现流程:** 1. 定义远程Favicon....

    php文件管理

    在PHP编程领域,文件管理是一项基础且至关重要的任务。...对于FileManger这个项目,可以基于以上概念设计一个功能完善的文件管理界面,实现对本地或远程文件的查看、编辑、上传、下载、删除等操作。

    PHP自动选择 连接本地还是远程数据库

    使用了if条件判断语句来决定是否成功连接本地数据库。 4. 连接失败后切换到远程数据库:如果尝试连接本地数据库失败,PHP脚本会进入else分支,使用远程数据库的信息实例化Mysql类对象,进而连接远程数据库。 5. ...

    php远程下载类分享_.docx

    - 检查本地文件与远程文件的大小,以确定是否需要更新。 - 使用HTTP Range头请求特定范围的数据,以实现续传。 使用此类时,开发者首先创建类的实例,然后调用`OpenUrl`方法打开远程URL,接着可以检查`IsGetOK`和`...

    PHP实现将多个文件压缩成zip格式并下载到本地的方法示例

    `PHPZip`类通过遍历目录并逐个压缩文件,然后将结果写入新的ZIP文件中。 总的来说,PHP中的文件压缩涉及到文件系统操作(如读取、判断文件存在)、流处理(如`readfile`)以及HTTP响应头的设置。这些技术广泛应用于...

    PHP实现的下载远程文件类定义与用法示例

    在PHP中,下载远程文件通常涉及到HTTP协议的请求和响应。这个类`HttpDownload`提供了下载远程文件的功能,并且支持断点续传。以下是类的详细说明: **类结构** ```php class HttpDownload { // 成员变量 private...

    文件包含、命令执行漏洞、代码执行漏洞、基础代码审计

    远程文件包含需要在 PHP 配置文件中开启 allow_url_fopen 和 allow_url_include 选项。 在 PHP 中,有四个函数可以用于文件包含:include、require、include_once 和 require_once。include 函数用于引入外部文件,...

    分享PHP源码批量抓取远程网页图片并保存到本地的实现方法

    然后使用`readfile`函数读取远程图片内容,通过输出缓冲获取图片数据,关闭缓冲(`ob_end_clean`),最后将图片数据写入本地文件。 这个PHP脚本不仅适用于抓取CSS文件中的图片,还可以稍作修改以适应其他情况,比如...

    PHP 文章中的远程图片采集到本地的代码

    例如,远程图片采集过程中可能会遇到网络问题、图片不存在或文件权限等问题,应适当增加错误处理的代码来处理这些情况。另外,为了避免非法采集,应当遵守robots.txt规则,并且只采集合法授权的图片资源。 通过上述...

Global site tag (gtag.js) - Google Analytics