php从入门到精通 php从入门到精通PHP是什么php环境搭建php echo/print 打印输出PHP date()函数:日期和时间PHP语法PHP 变量PHP 常用数据类型PHP常量PHP运算符PHP if语句PHP Switch语句PHP for和foreach 循环PHP while 循环PHP退出循环PHP 函数PHP 类与对象PHP命名空间PHP超全局变量PHP 表单 PHP表单提交PHP 表单验证PHP 日常操作 PHP多维数组PHP Include和require用法PHP 打开/读取/输出/关闭文件PHP 创建/写入文件PHP 上传文件PHP 复制/移动/删除文件PHP判断目录文件是否存在PHP获取文件属性和权限PHP cookiePHP Sessionphp socketPHP Mysql数据库 创建/选择/删除Mysql数据库创建/删除Mysql数据表修改/重命名Mysql数据表Mysql数据管理PHP 连接MySQL数据库PHP 创建MySQL数据库PHP创建Mysql数据表PHP插入Mysql数据PHP查询Mysql数据PHP MySQL Order By排序PHP MySQL UPDATE更新数据PHP MySQL Delete删除数据

PHP判断目录文件是否存在

判断目录或者文件是否存在,需要了解三个函数file_exists(),is_file(),is_dir()。

PHP file_exists()函数

检查文件或目录是否存在。

index.php文件

<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>目录/文件是否存在-炫代码</title></head>

<body>

<table>
<form action="index.php" method="post" enctype="multipart/form-data"
		name="form1">
        <tr class="firstRow">
            <td width="120" valign="top"></td>
            <td width="120" valign="top"></td>
            <td width="120" valign="top"></td>
            <td width="120" valign="top"></td>
        </tr>
        <tr>
            <td width="120" valign="top"></td>
            <td width="120" valign="top" style="word-break: break-all;">
                文件或目录名称:
            </td>
            <td width="120" valign="top"><input name="file_name" type="text"
			id="file_name" size="35"></td>
            <td width="120" valign="top"><input type="submit" name="Sub"
			value="提交"></td>
        </tr>
        <tr>
            <td width="120" valign="top"></td>
            <td width="120" valign="top"></td>
          <td width="120" valign="top"><span style="color: #FF0000">请输入正确的目录/文件路径!例如:D:\XXX\XXX.txt</span></td>
            <td width="120" valign="top"></td>
        </tr>
        </form>
    <?php

				if (isset($_POST ['file_name'])!= "") {
					$file_name = $_POST ['file_name'] ;
					if (file_exists ( $file_name )) {
						echo "<script>alert('目录/文件是存在!');</script>";
					} else {
						echo "<script>alert('目录/文件不存在!');</script>";
					}
				} else {
					echo "<script>alert('请输入正确的目录、文件路径!');</script>";
				}
				?>

</table></body></html>

PHP is_file()和is_dir()函数

is_file判断文件是否存在,is_dir判断目录是否存在

index.php文件

<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>目录/文件是否存在-炫代码</title></head>

<body>

<table>
<form action="index.php" method="post" enctype="multipart/form-data"
		name="form1">
        <tr class="firstRow">
            <td width="120" valign="top"></td>
            <td width="120" valign="top"></td>
            <td width="120" valign="top"></td>
            <td width="120" valign="top"></td>
        </tr>
        <form action="index.php" method="post" enctype="multipart/form-data"
		name="form1">
        <tr>
            <td width="120" valign="top"></td>
            <td width="120" valign="top" style="word-break: break-all;">
                目录名称:
            </td>
            <td width="120" valign="top"><input name="path_name" type="text"
			id="path_name" size="35"></td>
            <td width="120" valign="top"><input type="submit" name="Sub"
			value="目录检测">
            </td>
        </tr>
        </form>
        <form action="index.php" method="post" enctype="multipart/form-data"
		name="form2">
        <tr>
            <td width="120" valign="top"></td>
            <td width="120" valign="top" style="word-break: break-all;">
                文件名称:
            </td>
            <td width="120" valign="top"><input name="file_name" type="text"
			id="file_name" size="35"></td>
            <td width="120" valign="top"><input type="submit" name="Sub"
			value="文件检测"></td>
        </tr>
        <tr>
            <td width="120" valign="top"></td>
            <td width="120" valign="top"></td>
          <td width="120" valign="top"><span style="color: #FF0000">请输入正确的目录/文件路径!例如:D:\XXX\XXX.txt</span></td>
            <td width="120" valign="top"></td>
        </tr>
        </form>
    <?php
               
                if ($_POST['Sub']=='目录检测') {
                	if (isset($_POST ['path_name'])!= "") {
						$path_name = $_POST ['path_name'] ;
						if (is_dir( $path_name )) {
							echo "<script>alert('目录是存在!');</script>";
						} else {
							echo "<script>alert('目录不存在!');</script>";
						}
					} else {
						echo "<script>alert('请输入目录路径!');</script>";
					}
                } else {
                	if (isset($_POST ['file_name'])!= "") {
						$file_name = $_POST ['file_name'] ;
						if (is_file( $file_name )) {
							echo "<script>alert('文件是存在!');</script>";
						} else {
							echo "<script>alert('文件不存在!');</script>";
						}
					} else {
						echo "<script>alert('请输入文件路径!');</script>";
					}
                }
                
	?>

</table></body></html>

is_file/file_exists/is_dir区别

文件存在的情况下,is_file比file_exists要快得多,要检测文件所在的目录越深,速度差越多,但至少快4倍。

文件不存在的情况下,is_file比file_exists要慢一点点,但可以忽略不计。

目录存在的情况下,is_dir比file_exists要快得多;

目录不存在的情况下,is_dir比file_exists要慢一点点,但可以忽略不计。



什么时候用is_file/file_exists/is_dir


如果要判断文件是否存在,用函数 is_file(),

如果要判断目录是否存在,用函数 is_dir(),

不确定传入的参数是文件还是目录的时候file_exists()