Maison > développement back-end > tutoriel php > Comment déterminer si des fichiers locaux et distants existent via php

Comment déterminer si des fichiers locaux et distants existent via php

jacklove
Libérer: 2023-03-30 21:30:02
original
2543 Les gens l'ont consulté

Cet article explique comment utiliser PHP pour déterminer si un fichier existe. Il prend en charge la détermination des fichiers locaux et distants et fournit un code d'appel complet et une démonstration.

1. Déterminez si le fichier local existe

Pour déterminer si le fichier local existe, vous pouvez utiliser la méthode file_exists pour déterminer.

<?php$file = &#39;test.jpg&#39;;
var_dump(file_exists($file));?>
Copier après la connexion

2. Déterminer si le fichier distant existe

Pour déterminer si le fichier distant existe, vous ne pouvez pas utiliser la méthode file_exists, mais obtenez l'en-tête du fichier distant pour déterminer s'il existe. S'il existe, le HTTP_CODE renvoyé est 200 ou 304.

<?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;)));?>
Copier après la connexion

3. Code complet

<?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?>
Copier après la connexion

Cet article explique comment déterminer si des fichiers locaux et distants existent via php Pour plus de contenu connexe, veuillez faire attention au site Web chinois de php. .

Recommandations associées :

Explication sur la méthode de conversion des lignes et des colonnes des données d'une table mysql

Explication sur le PHP log class

Comment combiner plusieurs tableaux unidimensionnels en un tableau bidimensionnel via PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal