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.
Pour déterminer si le fichier local existe, vous pouvez utiliser la méthode file_exists pour déterminer.
<?php $file = 'test.jpg'; var_dump(file_exists($file));?>
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 = ' $header = get_headers($remote_file, true); var_dump(isset($header[0]) && (strpos($header[0], '200') || strpos($header[0], '304')));?>
<?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 ?>
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!