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

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

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

  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. 01_JavaSE之OOP--面向对象(类和面向对象的简单认识)

    面向对象(一) 一.面向对象概述 谈到面向对象就不得不谈谈面向过程,面向对象也是由面向过程发展而来. 面向过程思想概述 面向过程,简而言之就是分步骤,过程化的去解决问题,代表语言有:Pascal,C等 ...

  2. C# 使用AngleSharp 爬虫图片

    AngleSharp 简介 AngleSharp是基于.NET(C#)开发的专门解析HTML源码的DLL组件.根据HTML的DOM结构操作HTML,整个DOM已传输到逻辑类结构中.这种结构可以更好的操 ...

  3. [UWP]做个调皮的BusyIndicator

    1. 前言 最近突然想要个BusyIndicator.做过WPF开发的程序员对BusyIndicator应该不陌生,Extended WPF Toolkit 提供了BusyIndicator的开源实现 ...

  4. cmd命令报4048错误

    解决方法: win10系统:快捷键win+x,找到命令提示符(管理员),打开再下载相应的依赖包. win7/8:打开开始,输入命令提示符,找到管理员权限的命令提示符,打开再下载相应的依赖包. 提示:如 ...

  5. spring cron 定时任务

    文章首发于个人博客:https://yeyouluo.github.io 0 预备知识:cron表达式 见 <5 参考>一节. 1 环境 eclipse mars2 + Maven3.3. ...

  6. 剑指offer第六天

    29.最小的K个数 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4. 解法一: Partition思想 允许改变原始数组的情况, ...

  7. ACdream1032 Component 树形DP

    思路:dp[i][j]表示以i为根结点有j个连通节点的最小和, 当进行状态转移时需要利用01背包,节点u下面有多个子节点,每个子节点可以最多可以贡献cnt[v]个节点,cnt[v]表示以v为根结点的树 ...

  8. 用感知机(Perceptron)实现逻辑AND功能的Python3代码

    之所以写这篇随笔,是因为参考文章(见文尾)中的的代码是Python2的,放到Python3上无法运行,我花了些时间debug,并记录了调试经过. 参考文章中的代码主要有两处不兼容Python3,一个是 ...

  9. Ambari安装小记

    在Ambari配置过程中,组件的定制与分配很重要

  10. orcale和hive常用函数对照表(?代表未证实)

    函数分类 oracle hive 说明 字符函数 upper('coolszy') upper(string A) ucase(string A) 将文本字符串转换成字母全部大写形式 lower('K ...