之前我们处理的全都是文件,那目录和文件夹怎么处理呢?

我们就来学习目录或者称为文件夹的处理相关函数。

处理文件夹的基本思想如下:

  1. 1.读取某个路径的时候判断是否是文件夹
  2. 2.是文件夹的话,打开指定文件夹,返回文件目录的资源变量
  3. 3.使用readdir读取一次目录中的文件,目录指针向后偏移一次
  4. 4.使用readdir读取到最后,没有可读的文件返回false
  5. 5.关闭文件目录

我们来学习一比常用函数:

函数名 功能
opendir 打开文件夹,返回操作资源
readdir 读取文件夹资源
is_dir 判断是否是文件夹
closedir 关闭文件夹操作资源
filetype 显示是文件夹还是文件,文件显示file,文件夹显示dir
  1. <?php
  2. //设置打开的目录是D盘
  3. $dir = "d:/";
  4. //判断是否是文件夹,是文件夹
  5. if (is_dir($dir)) {
  6. if ($dh = opendir($dir)) {
  7. //读取到最后返回false,停止循环
  8. while (($file = readdir($dh)) !== false) {
  9. echo "文件名为: $file : 文件的类型是: " . filetype($dir . $file) . "<br />";
  10. }
  11. closedir($dh);
  12. }
  13. }
  14. ?>

php文件路径函数

我们把常用的路径处理函数为大家做了标注,大家对着这个路径处理函数进行处理即可:

|函数名 |功能

|--|--||

|pathinfo |返回文件的各个组成部份

|basename |返回文件名

|dirname |文件目录部份

|parse_url |网址拆解成各部份

|http_build_query |生成url 中的query字符串

|http_build_url |生成一个url

pathinfo

  1. array pathinfo ( string $路径)
  2. 功能:传入文件路径返回文件的各个组成部份
  1. <?php
  2. $path_parts = pathinfo('d:/www/index.inc.php');
  3. echo '文件目录名:'.$path_parts['dirname']."<br />";
  4. echo '文件全名:'.$path_parts['basename']."<br />";
  5. echo '文件扩展名:'.$path_parts['extension']."<br />";
  6. echo '不包含扩展的文件名:'.$path_parts['filename']."<br />";
  7. //结果如下:
  8. //文件目录名:d:/www
  9. //文件全名:lib.inc.php
  10. //文件扩展名:php
  11. //不包含扩展的文件名:lib.inc
  12. ?>

dirname

  1. dirname(string $路径)
  2. 功能:返回文件路径的文件目录部份
  3. <?php
  4. dirname(__FILE__);
  5. ?>

parse_url

  1. mixed parse_url ( string $路径 )
  2. 功能:将网址拆解成各个部份
  3. <?php
  4. $url = 'http://username:password@hostname:9090/path?arg=value#anchor';
  5. var_dump(parse_url($url));
  6. //结果
  7. array(8) {
  8. ["scheme"]=> string(4) "http"
  9. ["host"]=> string(8) "hostname"
  10. ["port"]=> int(9090)
  11. ["user"]=> string(8) "username"
  12. ["pass"]=> string(8) "password"
  13. ["path"]=> string(5) "/path"
  14. ["query"]=> string(9) "arg=value"
  15. ["fragment"]=> string(6) "anchor"
  16. }
  17. ?>

http_build_query

  1. string http_build_query ( mixed $需要处理的数据)
  2. 功能:生成url 中的query字符串
  1. <?php
  2. //定义一个关联数组
  3. $data = [
  4. 'username'=>'php',
  5. 'area'=>'hubei'
  6. ];
  7. //生成query内容
  8. echo http_build_query($data);
  9. // username=php&area=hubei
  10. ?>

http_build_url()

功能: 生成一个url

注:

PHP_EOL 常量

在 windows平台相当于 echo "\r\n";

在unix\linux平台相当于 echo "\n";

在mac平台相当于 echo "\r";

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

  1. 【Linux C中文函数手册】之 目录操作函数

    目录操作函数 1)closedir 关闭目录 相关函数: opendir表头文件: #include<sys/types.h> #include<dirent.h>定义函数: ...

  2. windows中操作文件和目录的函数

    1.文件操作函数       CreateFile();//创建或打开文件      ReadFile();//从文件读      WriteFile();//向文件写      SetFilePoi ...

  3. 关于Linux目录访问函数总结

    Linux下目录访问函数总结,主要是涉及到的函数,以及所在头文件. 获得工作目录: #include   <unistd.h>   char   *getcwd(char   *buf,s ...

  4. PHP 文件与目录操作函数总结

    >>>文件操作 打开 fopen();    打开文件 读取内容 fread();    从文件指针 handle 读取最多 length 个字节 readfile();    读入 ...

  5. 目录操作函数opendir、readdir和closedir

    首先,明确一个类型DIR的含义: #include <dirent.h> DIR    A type representing a directory stream. DIR是在目录项格式 ...

  6. 6个laravel常用目录路径函数

    public_path() public_path函数返回public目录的绝对路径:$path = public_path(); base_path() base_path函数返回项目根目录的绝对路 ...

  7. delphi弹出选择对话框选择目录|SelectDirectory 函数(转)

    SelectDirectory 函数 通过显示一个对话框来让用户选择一个目录.注意:在使用前要在Uses 语句中添加包含FileCtrl 的说明.函数原型如下:function SelectDirec ...

  8. Linux c 目录操作函数scandir

    头文件#include <dirent.h>  函数定义:int scandir(const char *dir,struct dirent **namelist,int (*filter ...

  9. delphi弹出选择对话框选择目录SelectDirectory 函数

    SelectDirectory 函数通过显示一个对话框来让用户选择一个目录.注意:在使用前要在Uses 语句中添加包含FileCtrl 的说明.函数原型如下:function SelectDirect ...

随机推荐

  1. Python:注释

    什么是注释? 注销:不参与执行 解释代码:有人习惯把代码解释放边上,建议放上边. 1)单行注释以 # 开头 # 需求12:键盘输入正整数n,求出n与其反序之和并输出例如:123反序321输出123+3 ...

  2. 【Javascript】在文本框光标处插入文字并定位光标 (转)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. JAVA受检异常和非受检异常举例

    受检异常和非受检异常(运行时异常)举例 RuntimeException(即非受检异常): RuntimeException在默认情况下会得到自动处理,所以通常用不着捕获RuntimeExceptio ...

  4. aria2 加速百度网盘下载

    准备工作: chrome浏览器: BaiduExporter插件(下载地址:https://github.com/acgotaku/BaiduExporter): aria2工具(下载地址:http: ...

  5. Linux服务器上安装MySql数据库(默认安装,密码为空),首次使用需要修改密码

    1,在/etc/my.cnf末尾  加入skip-grant-tables,保存,跳过身份验证. 2,重启MySql,使刚才修改的配置生效. 3,终端输入mysql,然后再输入use mysql; 4 ...

  6. PHP文件头BOM头问题

    前几天我们公司服务器出现了一个离奇的问题,服务器与本地文件代码完全一致,本地运行正常,到了测试环境服务器之后,各种问题一个又一个浮现,先是后台验证码不显示,以为是session写入失败,又是怀疑gd库 ...

  7. Python 上下文管理器和else块

    最终,上下文管理器可能几乎与子程序(subroutine)本身一样重要.目前,我们只了解了上下文管理器的皮毛--Basic 语言有with 语句,而且很多语言都有.但是,在各种语言中 with 语句的 ...

  8. Eventlog控件的使用

    CreateEventSource 已重载. 建立一个能够将事件信息写入到系统的特定日志中的应用程序. Delete 已重载. 移除日志资源. DeleteEventSource 已重载. 从事件日志 ...

  9. HDU - 4545 字符串处理

    思路:对于每个字符,如果它能被替换一定要优先替换,其次再进行删除.遵循这个策略即可. 证明: 对于这题的第一个测试数据: abba addba 1 d b 当匹配到'b'  和 'd'时应该优先替换而 ...

  10. CodeForces-749B

    给定3个坐标,求可能构成平行四边形的第四个点,枚举两个点,根据这两个点的横纵坐标差,来得到第四个点的坐标,注意生成的坐标需要判重. AC代码: #include<cstdio> #incl ...