php 目录处理函数
之前我们处理的全都是文件,那目录和文件夹怎么处理呢?
我们就来学习目录或者称为文件夹的处理相关函数。
处理文件夹的基本思想如下:
1.读取某个路径的时候判断是否是文件夹
2.是文件夹的话,打开指定文件夹,返回文件目录的资源变量
3.使用readdir读取一次目录中的文件,目录指针向后偏移一次
4.使用readdir读取到最后,没有可读的文件返回false
5.关闭文件目录
我们来学习一比常用函数:
| 函数名 | 功能 |
|---|---|
| opendir | 打开文件夹,返回操作资源 |
| readdir | 读取文件夹资源 |
| is_dir | 判断是否是文件夹 |
| closedir | 关闭文件夹操作资源 |
| filetype | 显示是文件夹还是文件,文件显示file,文件夹显示dir |
<?php
//设置打开的目录是D盘
$dir = "d:/";
//判断是否是文件夹,是文件夹
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
//读取到最后返回false,停止循环
while (($file = readdir($dh)) !== false) {
echo "文件名为: $file : 文件的类型是: " . filetype($dir . $file) . "<br />";
}
closedir($dh);
}
}
?>
php文件路径函数
我们把常用的路径处理函数为大家做了标注,大家对着这个路径处理函数进行处理即可:
|函数名 |功能
|--|--||
|pathinfo |返回文件的各个组成部份
|basename |返回文件名
|dirname |文件目录部份
|parse_url |网址拆解成各部份
|http_build_query |生成url 中的query字符串
|http_build_url |生成一个url
pathinfo
array pathinfo ( string $路径)
功能:传入文件路径返回文件的各个组成部份
<?php
$path_parts = pathinfo('d:/www/index.inc.php');
echo '文件目录名:'.$path_parts['dirname']."<br />";
echo '文件全名:'.$path_parts['basename']."<br />";
echo '文件扩展名:'.$path_parts['extension']."<br />";
echo '不包含扩展的文件名:'.$path_parts['filename']."<br />";
//结果如下:
//文件目录名:d:/www
//文件全名:lib.inc.php
//文件扩展名:php
//不包含扩展的文件名:lib.inc
?>
dirname
dirname(string $路径)
功能:返回文件路径的文件目录部份
<?php
dirname(__FILE__);
?>
parse_url
mixed parse_url ( string $路径 )
功能:将网址拆解成各个部份
<?php
$url = 'http://username:password@hostname:9090/path?arg=value#anchor';
var_dump(parse_url($url));
//结果
array(8) {
["scheme"]=> string(4) "http"
["host"]=> string(8) "hostname"
["port"]=> int(9090)
["user"]=> string(8) "username"
["pass"]=> string(8) "password"
["path"]=> string(5) "/path"
["query"]=> string(9) "arg=value"
["fragment"]=> string(6) "anchor"
}
?>
http_build_query
string http_build_query ( mixed $需要处理的数据)
功能:生成url 中的query字符串
<?php
//定义一个关联数组
$data = [
'username'=>'php',
'area'=>'hubei'
];
//生成query内容
echo http_build_query($data);
// username=php&area=hubei
?>
http_build_url()
功能: 生成一个url
注:
PHP_EOL 常量
在 windows平台相当于 echo "\r\n";
在unix\linux平台相当于 echo "\n";
在mac平台相当于 echo "\r";
php 目录处理函数的更多相关文章
- 【Linux C中文函数手册】之 目录操作函数
目录操作函数 1)closedir 关闭目录 相关函数: opendir表头文件: #include<sys/types.h> #include<dirent.h>定义函数: ...
- windows中操作文件和目录的函数
1.文件操作函数 CreateFile();//创建或打开文件 ReadFile();//从文件读 WriteFile();//向文件写 SetFilePoi ...
- 关于Linux目录访问函数总结
Linux下目录访问函数总结,主要是涉及到的函数,以及所在头文件. 获得工作目录: #include <unistd.h> char *getcwd(char *buf,s ...
- PHP 文件与目录操作函数总结
>>>文件操作 打开 fopen(); 打开文件 读取内容 fread(); 从文件指针 handle 读取最多 length 个字节 readfile(); 读入 ...
- 目录操作函数opendir、readdir和closedir
首先,明确一个类型DIR的含义: #include <dirent.h> DIR A type representing a directory stream. DIR是在目录项格式 ...
- 6个laravel常用目录路径函数
public_path() public_path函数返回public目录的绝对路径:$path = public_path(); base_path() base_path函数返回项目根目录的绝对路 ...
- delphi弹出选择对话框选择目录|SelectDirectory 函数(转)
SelectDirectory 函数 通过显示一个对话框来让用户选择一个目录.注意:在使用前要在Uses 语句中添加包含FileCtrl 的说明.函数原型如下:function SelectDirec ...
- Linux c 目录操作函数scandir
头文件#include <dirent.h> 函数定义:int scandir(const char *dir,struct dirent **namelist,int (*filter ...
- delphi弹出选择对话框选择目录SelectDirectory 函数
SelectDirectory 函数通过显示一个对话框来让用户选择一个目录.注意:在使用前要在Uses 语句中添加包含FileCtrl 的说明.函数原型如下:function SelectDirect ...
随机推荐
- 使用EL表达式调用java方法
首先,新建一个类,类中写一个静态方法 public class PrivilegeUtils { public static Boolean checkPrivilegeByName(User use ...
- 工作笔记--自动切换host的python code
修改host代码: #coding:utf-8import os,timepwd = os.path.dirname(__file__) #获取当前文件夹的绝对路径pull_host_cmd = 'a ...
- Java经典编程题50道之十一
有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? public class Example11 { public static void main(String[] arg ...
- bcache的使用
一.前提:内核中需要配置bcache模块 1.1 检查 - 是否存在于内核中:检查/sys/fs/bcache目录是否存在,没有说明内核中没有bcache - 是否以内核模块方式存在:检查/lib/m ...
- 2.数码相框-编码(ASCII/GB2312/Unicode)介绍,并使LCD显示汉字字符(2)
在上章-学习了数码相框的框架分析(1)了 本章主要内容如下: 1)熟悉ASCII/GB2312/Unicode编码 2)写应用程序,使LCD显示汉字和字符 大家都知道,数据传输的是二进制,而字符和汉字 ...
- 码农很忙代理IP系统V1.0版本上线
码农很忙代理IP系统V1.0版本上线 经过为期一个月的重写和测试,新版本的码农很忙代理IP系统已于今日正式上线.新版本拥有更精准的匿名类型识别和更高效的验证调度算法. 新版本仍旧采用ASP.NET B ...
- SpringBoot application.yml logback.xml,多环境配置,支持 java -jar --spring.profiles.active
趁今天有时间整理了一下 启动命令为 //开发环境 java -jar app.jar --spring.profiles.active=dev--server.port=8060 //测试环境 jav ...
- 99%的人理解错 HTTP 中 GET 与 POST 的区别
转自:http://www.oschina.net/news/77354/http-get-post-different GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发 ...
- CPLD/FPGA厂商概述 .
随着可编程逻辑器件应用的日益广泛,许多IC制造厂家涉足PLD/FPGA领域.目前世界上有十几家生产CPLD/FPGA的公司,最大的三家是:ALTERA,XILINX,Lattice,其中ALTERA和 ...
- Linux显示用户注册名
Linux显示用户注册名 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ finger -s Login Name Tty Idle Login Time Of ...