如何通过php判断本地及远程文件是否存在

jacklove
Lepaskan: 2023-03-30 21:30:02
asal
2533 orang telah melayarinya

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

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

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

<?php$file = &#39;test.jpg&#39;;
var_dump(file_exists($file));?>
Salin selepas log masuk

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

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

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

3.完整代码

<?php/**
 * 判断文件是否存在,支持本地及远程文件
 * @param  String  $file 文件路径
 * @return Boolean
 */function check_file_exists($file){

    // 远程文件
    if(strtolower(substr($file, 0, 4))==&#39;http&#39;){        $header = get_headers($file, true);        return isset($header[0]) && (strpos($header[0], &#39;200&#39;) || strpos($header[0], &#39;304&#39;));    // 本地文件
    }else{        return file_exists($file);
    }

}// 屏蔽域名不存在等访问问题的警告error_reporting(E_ALL ^ (E_WARNING|E_NOTICE));$file1 = &#39;test.jpg&#39;;$file2 = &#39;http://www.csdn.net/css/logo.png&#39;;

var_dump(check_file_exists($file1)); // falsevar_dump(check_file_exists($file2)); // true?>
Salin selepas log masuk

本篇讲解了通过php判断本地及远程文件是否存在 ,更多相关内容请关注php中文网。

相关推荐:

关于mysql表数据行列转换方法的讲解

关于php 日志类的讲解

如何通过php 实现多个一维数组合拼成二维数组的方法

Atas ialah kandungan terperinci 如何通过php判断本地及远程文件是否存在. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan