Tonny's Blog 关于博客
文章
主页 > PHP
php做的一道面试题,读取目录下的文件(以及心得)
发布时间:2018-05-02 (18:52:02)    编辑:Tonny    热度:113

文章描述:php做的一道面试题,读取目录下的文件(以及心得),附源码文件。
内容:

php做的一道面试题,读取目录下的文件(以及心得)

首先题目大致如下:
                获取选择的文件目录下的所有文件:按回车键进入下一个文件(语言不限);
                
                无奈,想破脑袋我还只只想到了   fopen   和file_get_contents(只是打开文件,读取文件)
                        
                回来后反思(其实是不甘心)查找到  scandir()  和  opendir();
                          
                然后  scandir()如下:     
                
                (1)首先我们假定路径
                const getURL="D:/Tonny/Documents";
                
                (2)接着直接使用函数,对就是这么简单
                $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()获取数据就可以了。

<?php
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 />";//获取内容
}
?>



游客评论:



您的评论:

    姓名:



热门标签


推荐阅读
img
PHP打开文件代码及细节
2018-05-02 (18:52:02)
img
PHP的单例模式
2018-05-02 (18:52:02)
img
PHP做面向对象思想的简易计算器
2018-05-02 (18:52:02)
img
PHP+ThinkPHP5常用技巧
2018-05-02 (18:52:02)
img
PHP做无限极分类
2018-05-02 (18:52:02)
img
ThinkPHP5制作简易留言板
2018-05-02 (18:52:02)