您的位置:首页 > 职场人生

记录(2018年6月9日)面试做的一道读取目录下文件的题以及心得

2019-02-06 13:58 218 查看
版权声明:本文为博主原创文章,转载请附上博文链接。 https://blog.csdn.net/qq_39535807/article/details/86768069

首先题目大致如下:
获取选择的文件目录下的所有文件:按回车键进入下一个文件(语言不限);

无奈,想破脑袋我还只只想到了fopen和file_get_contents(只是打开文件,读取文件)

回来后反思(其实是不甘心)查找到  scandir()  和  opendir();

scandir()如下:     

1.首先我们假定路径

[code]const getURL = "D:/Tonny/Documents";

2.接着直接使用函数,对就是这么简单

[code]$list = scandir(getURL);        //获取目录下的所有文件,接着你就可以试着打印一下这个结果
var_dump($list);                //返回一个数组,当然还有  "."和"..";此时我们过滤掉
$newList = [];                  //   先提前准备一个容器接受;然后过滤
for ($i = 0; $i < count($list); $i++) {
if ($list[$i] != "." && $list[$i] != "..") {
array_push($newList, $list[$i]);
}
}
var_dump($newList);             //打印一下,获取数组然后我们就可以在这里读取文件了啊!!!
for ($i = 0; $i < count($newList); $i++) {
echo file_get_contents(getURL . "/" . $newList[$i]) . "<hr />";
}

ojbk,但是并不符合题意啊,怎么办?

好吧,那我们写一个表单,写完表单刷新页面发现中文乱码,无奈的我在有忘掉了header()里的参数(建议大家不要过于依赖框架的开发,有空再多多的回顾一下基础知识)

为了惩罚自己,我选择手敲100遍 header("content-type:text/html; charset=utf8");

好吧,就先这样吧还要在研究一下opendir(),在增加点击事件模拟下一页然后用file_fet_contents()获取数据就可以了。

[code]header("content-type:text/html; charset=utf8");
if (empty($_POST)) {
header("location:index.html");
}
if (!is_dir($_POST["sendUrl"])) {
header("location:index.html");
}
$getUrl = $_POST["sendUrl"];
echo $getUrl;
//exit();
// $getUrl="D:/Tonny/Documents";
$list = scandir($getUrl);       //获取目录下的所有文件
echo "<br />";
$newList = [];
for ($i = 0; $i < count($list); $i++) {
if ($list[$i] != "." && $list[$i] != "..") {
array_push($newList, $list[$i]);
}
}
echo "<br />";
// var_dump($newList);
echo "<br />";
for ($i = 0; $i < count($newList); $i++) {
echo $newList[$i] . "<hr />";
// echo file_get_contents($getUrl."/".$newList[$i])."<hr />";//获取内容
}

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐