>  기사  >  백엔드 개발  >  PHP가 로컬 및 원격 파일의 존재 여부를 확인하는 방법에 대한 분석 예

PHP가 로컬 및 원격 파일의 존재 여부를 확인하는 방법에 대한 분석 예

黄舟
黄舟원래의
2017-09-07 09:37:471441검색

이 글에서는 PHP를 사용하여 파일 존재 여부를 확인하는 방법, 로컬 및 원격 파일 확인을 지원하는 방법, 전체 호출 코드 및 데모를 제공하는 방법을 소개합니다.

1. 로컬 파일이 존재하는지 확인

로컬 파일이 존재하는지 확인하려면 file_exists 메서드를 사용하면 됩니다.

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

2. 원격 파일이 있는지 확인

원격 파일이 있는지 확인하려면 file_exists 메서드를 사용할 수 없지만, 원격 파일의 헤더를 가져와서 존재하는지 확인하면 반환됩니다. HTTP_CODE는 200 또는 304 입니다.

<?php
// 屏蔽域名不存在等访问问题的警告
error_reporting(E_ALL ^ (E_WARNING|E_NOTICE));
$remote_file = &#39; 
$header = get_headers($remote_file, true);
var_dump(isset($header[0]) && (strpos($header[0], &#39;200&#39;) || strpos($header[0], &#39;304&#39;)));?>

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)); // false
var_dump(check_file_exists($file2)); // true
?>

위 내용은 PHP가 로컬 및 원격 파일의 존재 여부를 확인하는 방법에 대한 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.