PHP笔记-通过输入获取文件夹中的文件和目录例子
Posted IT1995
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP笔记-通过输入获取文件夹中的文件和目录例子相关的知识,希望对你有一定的参考价值。
程序运行截图如下:
点击提交后打印此内容:
文件结构如下:
源码如下:
dirFile.php
<?php
function dirFile($dir, &$error)
if(!is_dir($dir))
$error = "路径错误";
return false;
static $output = array();
$files = scandir($dir);
foreach ($files as $file)
$tmp_file = $dir . "/" . $file;
if(is_dir($tmp_file))
$output[] = array(
"fileName" => $file,
"directory" => $dir,
"isDir" => true
);
if($file == "." || $file == "..")
continue;
else
$output[] = array(
"fileName" => $file,
"directory" => $dir,
"isDir" => false
);
return $output;
?>
getFile.php
<?php
$dir = $_GET["dir"] ?? '';
if(!is_dir($dir))
echo "路径无效";
header("refresh:3; url=index.html");
exit;
include_once "dirFile.php";
$files = dirFile($dir, $error);
if(!$files)
echo $error;
header("refresh:3; url=index.html");
exit;
// echo "<pre>";
// print_r($files);
// var_dump($files);
// echo "</pre>";
include_once "list.html"
?>
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" http-equiv="content-type" content="text/html">
<title>首页</title>
</head>
<body>
<form action="getFile.php" method="get">
输入目录: <input type="text" name="dir" value="" />
<input type="submit" name="submit" value="提交" />
</form>
</body>
</html>
list.html
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>
<body>
<table border=1>
<p style=""><?php echo $dir;?>目录文件列表</p>
<tr><th>序号</th><th>文件名字</th><th>文件类型</th></tr>
<?php $index=1;?>
<?php foreach($files as $file):?>
<?php if($file['fileName']=='.'||$file['fileName'] == '..')continue;?>
<tr>
<td><?php echo $index++;?></td>
<td>
<?php echo $file['fileName'];?>
</td>
<td><?php echo $file['isDir']? '文件夹' : '文件';?></td>
</tr>
<?php endforeach;?>
</table>
</body>
</html>
这里有几个要注意的地方:
①dirFile.php中scandir($dir)函数获取$dir中的文件和目录;
②dirFile.php中is_dir($file)函数判断$file是文件还是目录;
③getFile.php中header("refresh:3; url=index.html")是告诉浏览器,3s后重定向到index.html。
以上是关于PHP笔记-通过输入获取文件夹中的文件和目录例子的主要内容,如果未能解决你的问题,请参考以下文章