<基础> PHP 文件、目录操作
php文件目录操作
- 目录操作
- is_dir ( $path ) 判断当前路径是否为目录 ,返回布尔
- opendir ( $path ) 打开路径目录,返回资源
- readdir ( $handle ) 读取当前打开目录下一个文件,同时指针向前移动一位,返回字符串 (文件/目录名)
- closedir ( $handle ) 关闭当前打开目录 返回布尔
- getcwd ( ) 获得当前工作目录
- rmdir 删除目录,删除前必须先删除目录下所有文件和目录
代码:列出指定目录下所有文件和文件名
function traversal_dir($path, $deep = 0) {
if (is_dir($path)) {
$handle = opendir($path);
while (($file = readdir($handle)) !== false) {
if ($file == '.' || $file == '..') {
continue;
}
echo str_repeat('-', 2 * $deep) . $file . '</br>';
if (is_dir($path . '/' . $file)) {
traversal_dir($path . '/' . $file, $deep + 1);
}
}
}
}
traversal_dir('./');
- 文件操作
- 路径部分
- basename ( $path ) : 返回指定路径的文件名部分 返回String
- dirname ( $path ) : 返回指定路径的目录名部分 返回string
- 操作部分
- fopen ( $file ) :打开文件或者 URL 返回资源
- fread ( resource
$handle, int$length) : 读取文件,可指定长度 - fwrite ( resource
$handle, string$string[, int$length] ) : 返回写入字符串大小,如果指定了length,当写入了length个字节或者写完了string以后,写入就会停止,视乎先碰到哪种情况。 - fgets ( resource
$handle[, int$length] ) : 读取一行文本,length指定一行文本长度 - fclose ( resource
$handle) : 关闭文件
- stat 获得文件信息
- 判断部分
- is_file ( $path ) :判断指定 路径是否为文件
- file_exists ( $path ) : 检查目录或者文件是否存在
- filesize ( $path ) 获得文件大小 int
- filetype ( $path ) 获得文件类型 string (可能值:fifo,char,dir,block,link,file 和 unknown)
- rename ( string
$oldname, string$newname[, resource$context] ) 重命名或者移动 返回布尔 - unlink ( $path ) 删除文件 返回布尔
- file_get_contents 将整个文件读如一个字符串
- file_put_contents 将一个字符串写入文件
- 路径部分
代码:每执行一次文件,向文件头部追加 Hello word
$path = './hello.txt';
if (!file_exists($path)) {
$handle = fopen($path, 'w+');
fwrite($handle, 'Hello word' . '\r\n');
fclose($handle);
} else {
$handle = fopen($path, 'r');
$content = fread($handle, filesize($path));
$content = 'Hello word \r\n' . $content;
fclose($handle);
$handle = fopen($path, 'w');
fwrite($handle, $content);
fclose($handle);
}
代码:遍历删除文件夹及文件夹下所有文件
function traversal_delete_dir($path) {
if (is_dir($path)) {
$handle = opendir($path);
while (($file = readdir($handle)) !== false) {
if ($file == '.' || $file == '..') {
continue;
}
if (is_dir($path . '/' . $file)) {
traversal_delete_dir($path . '/' . $file);
} else {
if (unlink($path . '/' . $file)) {
echo '删除文件' . $file . '成功';
}
}
}
closedir($handle);
rmdir($path);
}
}
traversal_delete_dir('./shop_api');
<基础> PHP 文件、目录操作的更多相关文章
- Linux 文件/目录操作详解
目录 Linux 文件/目录操作详解 初识Linux 一.文件/目录显示命令 ls 二.目录创建命令 mkdir 三.目录转移命令 cd 四.当前目录显示命令 pwd 五.文件处理命令 rmdir 六 ...
- Python - os 文件/目录操作
最近经常用到 os 操作文件/目录,感觉挺好使的,但是一直没有系统的梳理学习一下, 今天想借此机会整理一下工作中常用的方法,也算自己总结学习的一个积累吧. 直接上代码,注释明了 #-*-coding: ...
- 《UNIX-Shell编程24学时教程》读书笔记Chap3,4 文件,目录操作
Chap3 文件操作 P28 在这章中,要着重记住一些常用的选项,要有使用正则表达式的思维,能更快达到目的.----@im天行 3.1 列文件名 .profile sh的初始化脚本: .kshr ...
- Python技法:实用运维脚本编写(进程/文件/目录操作)
Python在很大程度上可以对shell脚本进行替代.笔者一般单行命令用shell,复杂点的多行操作就直接用Python了.这篇文章就归纳一下Python的一些实用脚本操作. 1. 执行外部程序或命令 ...
- Linux 指令(一)文件/目录操作
1. 创建目录 mkdir 格式 mkdir [OPTION]... DIRECTORY... 选项 -p 递归创建 -v 创建时提示 例: root@ubuntu:/home/eko/x# mkdi ...
- Delphi中ExtractFilePath、ParamStr以及更多文件/目录操作涉及的函数。附加对应的例子
先介绍ExtractFilePath和ParamStr ParamStr 该函数的原型是:function paramstr(i: Integer): String; 对于任何的application ...
- ACE6.2.0文件/目录操作
文件读取.#include "ace/FILE_Connector.h"#include "ace/FILE_IO.h"void fileRW(){ACE_FI ...
- php对文件/目录操作的基础知识(图解)
具体的如下图所示:
- 【C#公共帮助类】FTPClientHelper帮助类,实现文件上传,目录操作,下载等动作
关于本文档的说明 本文档使用Socket通信方式来实现ftp文件的上传下载等命令的执行 欢迎传播分享,必须保持原作者的信息,但禁止将该文档直接用于商业盈利. 本人自从几年前走上编程之路,一直致力于收集 ...
- PHP 文件与目录操作函数总结
>>>文件操作 打开 fopen(); 打开文件 读取内容 fread(); 从文件指针 handle 读取最多 length 个字节 readfile(); 读入 ...
随机推荐
- CodeLite C/C+ IDE更新放出
CodeLite IDE Revision 1145 for C/C++已经发布,这是一个强大的开源,跨平台的C/C++整合开发环境.目前已经在Windows XP SP3,Ubuntu 7.10 G ...
- MongoDB查询结果存放入新的Collection
第一种方法 var lst = db.visits_201501.find({ "url":/http:\/\/m.baidu.com\/application/ }); whil ...
- HTML-Ronoob-基础教程:HTML 字符实体
ylbtech-HTML-Ronoob-基础教程:HTML 字符实体 1.返回顶部 1. HTML 中的预留字符必须被替换为字符实体. HTML 实体 在 HTML 中,某些字符是预留的. 在 HTM ...
- postgresql小纪
本来是想在PaaS环境中定位PG数据库的问题,却发现给每个PG实例,就是每个库,分配的密码是加密的,还不能直接查看密码. 登录PG数据库对应的容器,发现使用默认的用户postgres没有密码也可以正常 ...
- HDOJ 2002 计算球体积
#include<cstdio> #define PI 3.1415927 int main() { double r; while (scanf_s("%lf", & ...
- [UE4]虚幻4的网络适合开发什么游戏
使用虚幻4开发网络游戏的两种方式 一.虚幻4只做客户端,服务器端独立开发,适用于任何网络游戏 二.使用虚幻4同时开发客户端和服务器(使用虚幻4内置的服务器),适用于一部分网络游戏. 如果使用虚幻4作为 ...
- [UE4]AWP组合
AWP狙击枪可以由主枪和镜头模型组合而成. 一.主枪 二.镜头组合
- Authentication required (packagist.phpcomposer.com) 账号密码到哪里获取?
安装好composer后,执行composer install 报这个错 面对这个错有两种方法.1,他说你的composr 版本不够稳定,composer update 一下,或者 composer ...
- postgresql数据库常用操作命令及SQL语言
(1)登录 peng@peng-virtual-machine:~$ sudo -u postgres psql 以用户postgres身份登录,postgres为用户名,可有多个用户,登录时会要求输 ...
- Vue百度搜索
<!DOCTYPE html><html lang="en"><head> <meta charset="GBK"&g ...