zoukankan      html  css  js  c++  java
  • php目录函数操作,以及使用递归

    • opendir
    1. 找到对应的目录
    2. 将目录中所有文件全部读入到内存(包含子文件夹下的所有文件)
    3. 将目录指针指向第一个文件
    • readdir
    1. 读取当前指针所指向的文件的文件名 
    2.  2.将目录指针向下移动一位
    • chdir
    1. 改变当前操作目录,代表进入到目标目录
    
    
    $masterdir = "C:\Program Files";
    function openmydirs($masterdir)
    {
        if (is_dir($masterdir))
        {
            $o = opendir($masterdir);
            while($saiwa = readdir($o))
            {
                if ($saiwa=="." or $saiwa=="..")
                {
                    continue;
                }
                $wholepath = $masterdir."\".$saiwa;
           //这行代码如此重要,因为我们必须拼接出一个完整的路径,才能在下面调用is_dir,chdir等和目录操作有关的函数
    if(count($myarray)==3) { echo substr($myarray[2],0,2).":"." "; } if (is_dir($wholepath)) { chdir($wholepath); openmydirs($wholepath); } echo $wholepath." "; } } }
    <?php
    /**
     * Created by PhpStorm.
     * User: Administrator
     * Date: 2018/12/19 0019
     * Time: 上午 1:22
     */
    $masterdir = "D:\2,PHP高级核心";
    echo strpos($masterdir,"\",3)."
    ";
    $storepath = "E:\mycourse.txt";
    $fetarray = array();
    function openmydirs($masterdir,$handle)
    {
        global $fetarray;
        if (is_dir($masterdir))
        {
            $o = opendir($masterdir);
            while($saiwa = readdir($o))
            {
                if ($saiwa=="." or $saiwa=="..")
                {
                    continue;
                }
                $wholepath = $masterdir."\".$saiwa;
                $myarray = explode("\",$wholepath);
                if(count($myarray)==3)
                {
                    fwrite($handle,substr($myarray[2],0,2).":"."
    ") ;
                }
    
                if (is_dir($wholepath))
                {
                    chdir($wholepath);
                    openmydirs($wholepath,$handle);
                }
                if (is_file($wholepath))
                {
                    if(strrpos($wholepath,".wmv")>0)
                    {
                        fwrite($handle,substr($wholepath,strrpos($wholepath,"\")+1,strrpos($wholepath,".wmv"))."
    ") ;
                    }
    
                }
                //echo $wholepath."
    ";
            }
        }
    }
    //$myarray=openmydirs($masterdir);
    $handle = fopen($storepath,'a');
    openmydirs($masterdir,$handle);
    fclose($handle);
    ?>
  • 相关阅读:
    LinkedList源码浅析
    ArrayList/Vector/Stack底层分析
    遮罩层
    重写alert方法,去掉地址显示
    继承属性的函数
    为什么手机网页点击输入框的瞬间会出现灰色背景呢?怎么去掉灰色背景?
    伪类before和after
    五星好评
    String[]字符串数组,按字典顺序排列大小
    jquery ajax的load()方法和load()事件
  • 原文地址:https://www.cnblogs.com/saintdingspage/p/10141079.html
Copyright © 2011-2022 走看看