1.创建 mkdir()
mkdir(目录地址,权限模式,是否递归创建)
默认不支持递归创建,用第三个参数true表示递归创建

<?php
header("content-type:text/html;charset=utf-8");
/* 创建目录
1.创建 mkdir()
mkdir(目录地址,权限模式,是否递归创建)
默认不支持递归创建,用第三个参数true表示递归创建
0755 该参数被忽略,在windows上 linux上,表示权限。
*/
$path = './some/path/';
$result = mkdir($path,0755,true);
var_dump($result);

2.删除目录

<?php
/*
删除目录:rmdir(目录地址) */
$path = './some/path/'; //删除path
$result = rmdir($path);
var_dump($result);

3.读取文件夹内容:

<?php
header("content-type:text/html;charset=utf-8"); /*
获得目录内容 opendir(),readdir(),closedir()
获取目录中存在哪些文件
opendir(目录句柄),打开一个目录句柄
句柄,handle,一种程序与文件系统通讯的资源
文件名=readdir(句柄); //读取目录中的一个文件名 返回文件名
执行一次尽可以读取一个文件名,同时向下移动句柄指针 */
$path = './some/path/'; $handle = opendir($path);
//var_dump($handle);
//$basename= readdir($handle);
//echo $basename,'<br>';
//$basename= readdir($handle);
//echo $basename,'<br>';
//$basename= readdir($handle);
//echo $basename,'<br>';
//$basename= readdir($handle);
//echo $basename,'<br>';
/*配合循环结果,如果读取不到结果,则返回false,直接使用while即可*/
/*
while (条件为真) {要执行的代码;}
false!== 严格不等于,防止文件夹的名字为0,0相当于false;
*/
while(false !== $basename=readdir($handle)){
//过滤掉. ..
if($basename=='.' || $basename == '..') continue;
echo $basename,'<br>';
}
//关闭句柄
closedir($handle); /*
获得目录内容 opendir(),readdir(),closedir()
获取目录中存在哪些文件
opendir(目录句柄),打开一个目录句柄
句柄,handle,一种程序与文件系统通讯的资源
$path = './some/path/';
$handle = opendir($path);
var_dump($handle);
/*

4.递归获取文件的目录内容

<?php
header("content-type:text/html;charset=utf-8");
/*递归获取文件的目录内容*/ /*
获得目录内容 opendir(),readdir(),closedir()
获取目录中存在哪些文件
opendir(目录句柄),打开一个目录句柄
句柄,handle,一种程序与文件系统通讯的资源
文件名=readdir(句柄); //读取目录中的一个文件名 返回文件名
执行一次尽可以读取一个文件名,同时向下移动句柄指针 */
$path = './some/path/'; readDirR($path); /*配合循环结果,如果读取不到结果,则返回false,直接使用while即可*/
/*
while (条件为真) {要执行的代码;}
false!== 严格不等于,防止文件夹的名字为0,0相当于false;
!当读取到文件时文件夹时,继续读取 递归获取目录内容:
获得某个目录,几及其后代目录的全部内容。
思路:读取目录下内容,如果发现读取的为目录,递归调用该函数,读取子目录内容,以此递归。 */
function readDirR($path){
$handle = opendir($path);
while(false !== $basename=readdir($handle)){
//过滤掉. ..
if($basename=='.' || $basename == '..') continue;
echo $basename,'<br>';
//判断当前读取到的是否为目录
if(is_dir($path. '/' . $basename)){
//是个目录,递归调用
readDirR($path. '/' . $basename);
}
}
closedir($handle);
}
?>

php目录函数的更多相关文章

  1. php 目录函数和日期函数

    continue . break . exit目录函数opendir(); 打开一个文件夹is_file 只判断文件是否存在: file_exists 判断文件是否存在或者是目录是否存在: is_di ...

  2. PHP常用文件函数和目录函数整理

    一.常用文件函数库 1.basename(); -- 返回路径中的文件名部分. string basename ( string $path [, string $suffix ] ) //给出一个包 ...

  3. linux 文件名称前后缀操作函数----取目录函数dir、取文件名称函数notdir、取后缀函数suffix、取前缀basename、加后缀函数addsuffix、加前缀addprefix、连接函数join

    1.1       文件名操作函数 下面我们要介绍的函数主要是处理文件名的.每个函数的参数字符串都会被当做一个或是一系列的文件名来对待. 1.1.1        取目录函数dir $(dir < ...

  4. php 文件系统函数及目录函数

    1.basename ,dirname ,pathinfo和realpath basename(path) 返回路径中的文件名部份,包含扩展名,path表示路径: dirname(path) 返回路径 ...

  5. 利用目录函数(opendir,readdir,closedir)查找文件个数

    如何知道一个目录下的所有文件个数呢?或许可以用tree来学(zhuang)习(bi)的同时知道文件个数.Linux系统io函数为我们提供了目录操作函数,其中有一个比较重要(实际上有三个,因为它们经常配 ...

  6. php目录函数操作,以及使用递归

    opendir 找到对应的目录 将目录中所有文件全部读入到内存(包含子文件夹下的所有文件) 将目录指针指向第一个文件 readdir 读取当前指针所指向的文件的文件名 2.将目录指针向下移动一位 ch ...

  7. C语言readdir()函数:读取目录函数

    相关函数:open, opendir, closedir, rewinddir, seekdir, telldir, scandir 头文件:#include <sys/types.h> ...

  8. php 递归的生成目录函数

    /** * 递归的生成目录 * @param str $dir 必须是目录 */ function mkdirs($dir) { return is_dir($dir) ?: mkdirs(dirna ...

  9. C++删除目录和复制目录函数

    BOOL DeleteFolder(LPCTSTR lpszPath) { SHFILEOPSTRUCT FileOp; ZeroMemory((void*)&FileOp,sizeof(SH ...

随机推荐

  1. Ubuntu12.04环境搭建遇到的问题和建议(一个)

    后的新公司需要在Ubuntu12.04在结构Android开发环境,在这个过程中,我们还是会遇到很多问题,这里记录.为了方便自己的未来,有人谁需要参考.从网络! 1. Q:在终端: sudo apt- ...

  2. JSON 分析数据格式

    2014年4月26日本10:55:15 从三月初开始,并JSON战斗.学校不教怎样做,己..大规模的搜索啊.发表这篇文章,喜欢我和不知道如何开始的新手! 和 XML 如.JSON 也是基于纯文本数据格 ...

  3. [翻译]初识SQL Server 2005 Reporting Services Part 4

    原文:[翻译]初识SQL Server 2005 Reporting Services Part 4 这一篇是关于SQL Server 2005 Reporting Services四篇文章中最后一篇 ...

  4. css3中webkit-box的用法(平分父元素)

    display:box;box-flex是css3新添加的盒子模型属性,它的出现可以解决我们通过N多结构.css实现的布局方式.经典的一个布局应用就是布局的垂直等高.水平均分.按比例划分.目前box- ...

  5. leetcode Binary Tree Postorder Traversal 二叉树后续遍历

    先给出递归版本的实现方法,有时间再弄个循环版的.代码如下: /** * Definition for binary tree * struct TreeNode { * int val; * Tree ...

  6. C++ builder 中AnsiString的字符串转换方法大全

    C++ builder 中AnsiString的字符串转换方法大全 //Ansistring 转 charvoid __fastcall TForm1::Button1Click(TObject *S ...

  7. TeamCity vs Jenkins: Which is the Better Continuous Integration (CI) Server for .NET Software Development?

    原文:http://www.excella.com/insights/teamcity-vs-jenkins-better-continuous-integration-server So, you’ ...

  8. Data Annotations

    Data Annotations   Entity Framework Code First 利用一种被称为约定(Conventions)优于配置(Configuration)的编程模式允许你使用自己 ...

  9. 使用MVCJqGrid

    使用MVCJqGrid的心得   最近公司网站进行升级,项目要用.net mvc,mysql和轻量级orm框架dapper.由于美工页面出不来啊,让我先写简单写写后台的列表,同事说用MvcJqGrid ...

  10. 长乐集训2012.7.11 happy(指针技巧的运用)

    题1  Noip的快乐 (happy.pas/c/cpp) [问题描述] 终于到了一年一度的Noip比赛了,多么令人期待和兴奋的一天!其实,人们最高兴的还不是遇见老朋友,而是结交新朋友.可是结交新的朋 ...