php无限遍历目录

使用的函数有:

isset()判断某个变量是否定义

chdir() 将当前目录改变为指定的目录。

opendir() 打开目录。

readdir()读取目录。

getcwd()。获取当前目录。

还用到了for  if  GET传值 大概就这些东东:

下面是代码:

<?php
if(isset($_GET[‘id‘]))//判断是否传值
{
    $s=str_replace(‘ ‘,‘+‘,$_GET[‘id‘]);
    $s=base64_decode($s);//接受传递的值 值一般是要打开的目录的绝对路劲
        chdir($s);//切换到要打开的目录
    }
$a=opendir(‘.‘);//打开当前目录
while(false!==($c=readdir($a)))//循环遍历目录内容的文件名
{
       if(is_dir($c))//判断是目录还是文件
       {
           if($c==‘.‘)
           {
               }
               else
               {
           if($c==‘..‘)
           {
           $w=base64_encode(substr(getcwd(),0,strrpos(getcwd(),‘\\‘)));//当前路径加上目录名 就是目录的绝对路径
           echo "上一级"."<a href=‘6.php?id=$w‘>打开</a><br />";//当点击打开时将要打开的绝对路径传递出去  用chdir 切换到要打开的目录下
           }else
           {
               $w=base64_encode(getcwd().‘\\‘.$c);//当前路径加上目录名 就是目录的绝对路径
           echo "$c"."<a href=‘6.php?id=$w‘>打开</a><br />";//当点击打开时将要打开的绝对路径传递出去  用chdir 切换到要打开的目录下
               }
               }
           }
           else
           {
               echo "$c 不是目录<br />";
               }
}

?>

  

时间: 2024-10-13 14:07:17

php无限遍历目录的相关文章

Nodejs动态加载路由,Nodejs遍历目录,Nodejs路由工具

工具来源: Nodejs需要手动加载路由文件,如果一个个添加,项目逐渐扩大,比较麻烦. 尤其在项目route目录下,增加模块文件夹的时候,引入路由更是麻烦. 因此写了一个Nodejs动态加载路由,Nodejs遍历目录,Nodejs路由工具,取名为route.js. 支持无限级别目录结构,自动递归引用.有任何更好的建议,欢迎随时留意交流. 使用方法: 1.文件:app.js同级目录增加route.js文件,复制下面贴出源代码: 2.引入:app.js中引入:var route = require(

遍历目录的正确方法

/** * 遍历目录 * @staticvar int $depth * @staticvar array $path * @param type $dir * @param type $clear 是否销毁静态变量 * @return string|boolean */ public function _scan($dir, $clear = false) { static $depth = 0; static $path = array(); // 无限遍历 // if ($depth >=

Linux C语言遍历目录结构

遍历目录结构查找文件是很常用的功能,今天介绍一下使用Linux C 遍历Linux目录结构的方法: linux提供几个系统调用,以便于直接目录的读取和操作: DIR * opendir(const char * pathname); struct dirent * readdir(DIR * dir_handle); int closedir(DIR * dir); int stat(const char *file_name, struct stat *buf); #include <unis

遍历目录下的所有文件-os.walk

1 #coding:utf-8 2 3 import os 4 5 6 for root,dirs,files in os.walk("D:"): 7 for fileItem in files: 8 print root + os.sep + fileItem 结果如下 遍历目录下的所有文件-os.walk,布布扣,bubuko.com

C/C++ 遍历目录文件,默认目录下

每次遇到这样的问题总会折腾很久,到网上搜,或者查资料,弄了很多次,但就是没记住,这次写程序又遇到了,干脆就把它都弄清楚了,然后顺便在这里记录一下,以后再遇到就不用到处去找了. 用 C/C++ 遍历目录文件主要有两种方式,分别对应在 Windows VS 环境下和 Linux\Unix 环境下的方法,它们各自所使用的函数如下: (Windows VS)_findfirst, _findnext, _findclose (Linux\Unix)opendir, readdir, closedir 下

lua在linxu和windows系统下的遍历目录的方法

在windows下遍历目录使用lfs库:例如遍历整个目录下的所有文件 local lfs = require "lfs" function findPathName(path)  local fileTbl = {}  for file in lfs.dir(path) do   if file ~= "." and file ~= ".." then     fileTbl[#fileTbl + 1] = file   end  end  re

可编译为 UNICODE 和 ANSI 版本的遍历目录树程序_0.1

路径暂时是写死的 编译两个版本的程序: g++  treeT.cpp -municode -D_UNICODE -o treeT_UNIg++  treeT.cpp -o treeT_ASC 为了观察ANSI版在遍历文件夹如果遇到Unicode字符会发生什么情况而写来作对比的 他们都可以接收终端传送的中文字符 ANSI版: opendir/readdir 遍历目录遇到 UNICODE字符的时候会出问题 UNICODE版: 输出到stdout的时候,值>128 的UNICODE字符丢失 改为 Wr

遍历目录中所有文件并统计信息

遍历目录中所有文件,并且统计文件类型. #!/bin/bash #filename: filestat.sh #set -x if [ $# -ne 1 ]; then     echo $0 basepath;    echo fi path=$1 declare -A statarray; while read line; do   ftype=`file -b "$line"`   let statarray["$ftype"]++; done< <

递归的使用:遍历目录函数

2016.12.21,星期三   利用递归输出显示C盘中所有的文件及文件夹: <?php //遍历目录 function wenJian($path,$v = 0) {// $path = "."; //打开目录 $a = opendir($path) ; //读取目录,readdir(资源名(通道)) // $b = readdir($a); //$b=readdir($a)外面的括号必须加上,"="赋值运算符运算等级小于"!=="比较运