PHP操作文件夹、文件详细文档
更新时间:2023-08-09 20:02:01 阅读量: IT计算机 文档下载
php对文件夹、文件的操作,一目了然
我们在使用Php开发应用程序的过程不,有可能会对文件目录进行相关的操作,比如新建文件夹,判断文件或文件夹是否存在,以及读取文件的相关属性,如创建时间等等,下面的文章算是对php操作文件夹进行了一个较详细的总结,希望对你有所启示。
一、目录操作
首先是从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是先打开文件句柄,而后迭代列出:
<?php
$base_dir="filelist/";
$fso=opendir($base_dir);
echo $base_dir."<hr/>";
while($flist=readdir($fso)){
echo $flist. "<br/>";
}
closedir($fso)
?>
这是讲返回文件目录下面的文件已经目录的程序(0文件将返回false).
有时候需要知道目录的信息,可以使用dirname($path)和basename($path),分别返回路径的目录部分和文件名名称部分,可用disk_free_space($path)返回查看空间剩余空间.
php对文件夹、文件的操作,一目了然
创建命令:
mkdir($path,0777):0777是权限码,在非window下可用umask()函数设置.
rmdir($path):将删除路径在$path的文件.
二、文件操作
● 新建文件
首先,确定你所要新建文件所在的目录权限; 建议设备为777。然后,新建文件的名称建议使用绝对路径。 <?php
$filename="text.txt";
$fp=fopen("$filename", "w+"); //打开文件指针,创建文件
if ( !is_writable($filename) ){
die( "文件:" .$filename. "不可写,请检查!");
}
//fwrite($filename, "anything you want to write to $filename."; fclose($fp); //关闭指针
● 读文件
首先是一个文件看能不能读取(权限问题),或者存在不,我们可以用is_readable函数获取信息.:
php对文件夹、文件的操作,一目了然
<?php
$file = 'dirlist.php';
if (is_readable($file) == false) {
die('文件不存在或者无法读取');
} else {
echo '存在';
}
?>
判断文件存在的函数还有file_exists(下面演示),但是这个显然无is_readable全面.,当一个文件存在的话可以用
<?php
$file = "filelist.php";
if (file_exists($file) == false) {
die('文件不存在');
}
$data = file_get_contents($file);
echo htmlentities($data);
?>
但是file_get_contents函数在较低版本上不支持,可以先创建文件的一个句柄,然后用指针读取全部:
还有一种方式,可以读取二进制的文件:
$data = implode('', file($file));
php对文件夹、文件的操作,一目了然
● 写文件
和读取文件的方式一样,先看看是不是能写:
<?php
$file = 'dirlist.php';
if (is_writable($file) == false) {
die( "You have no right to write!");
}
?>
能写了的话可以使用file_put_contents函数写入:
<?php
$file = 'dirlist.php';
if (is_writable($file) == false) {
die('我失败...了');
}
$data = '我要写入的高端网站建设成功啦';
file_put_contents ($file, $data);
?>
file_put_contents函数在php5中新引进的函数(不知道存在的话用function_exists函数先判断一下)低版本的php无法使用,可以使用如下方式:
$f = fopen($file, 'w');
fwrite($f, $data);
php对文件夹、文件的操作,一目了然
fclose($f);
替换之.
写文件的时候有时候需要锁定,然后写:
function cache_page($pageurl,$pagedata){
if(!$fso=fopen($pageurl,'w')){
$this- >warns('无法打开缓存文件.');//trigger_error
return false;
}
if(!flock($fso,LOCK_EX)){//LOCK_NB,排它型锁定
$this- >warns('无法锁定缓存文件.');//trigger_error
return false;
}
if(!fwrite($fso,$pagedata)){//写入字节流,serialize写入其他格式 $this- >warns('无法写入缓存文件.');//trigger_error
return false;
}
flock($fso,LOCK_UN);//释放锁定
fclose($fso);
return true;
}
● 复制,删除文件
php对文件夹、文件的操作,一目了然
php删除文件非常easy,用unlink函数简单操作:
<?php
$file = 'dirlist.php';
$result = @unlink ($file);
if ($result == false) {
echo '蚊子赶走了';
} else {
echo '无法赶走';
}
?>
即可.
复制文件也很容易:
<?php
$file = www.txt';
$newfile = '010755.txt'; # 这个文件父文件夹必须能写
if (file_exists($file) == false) {
die ('小样没上线,无法复制');
}
$result = copy($file, $newfile);
if ($result == false) {
echo '复制记忆ok';
}
php对文件夹、文件的操作,一目了然
?>
可以使用rename()函数重命名一个文件夹.其他操作都是这几个函数组合一下就能实现的.
● 获取文件属性
我说几个常见的函数:
获取最近修改时间:
<?php
$file = 'test.txt';
echo date('r', filemtime($file));
?>
返回的说Unix的时间戳,这在缓存技术常用.
相关的还有获取上次被访问的时间fileatime(),filectime()当文件的权限,所有者,所有组或其它 inode 中的元数据被更新时间,fileowner()函数返回文件所有者
$owner = posix_getpwuid(fileowner($file));
(非window系统),ileperms()获取文件的权限,
<?php
$file = 'dirlist.php';
$perms = substr(sprintf('%o', fileperms($file)), -4);
echo $perms;
?>
php对文件夹、文件的操作,一目了然
filesize()返回文件大小的字节数:
<?php
// 输出类似:somefile.txt: 1024 bytes
$filename = 'somefile.txt';
echo $filename . ': ' . filesize($filename) . ' bytes'; ?>
获取文件的全部信息有个返回数组的函数stat()函数: <?php
$file = 'dirlist.php';
$perms = stat($file);
var_dump($perms);
?>
正在阅读:
PHP操作文件夹、文件详细文档08-09
祝寿词大全02-11
六年级科学期中检测题12-16
心火旺的症状02-10
第四届认知语言学大会摘要07-29
党的十八大报告知识和党章知识百问百答竞赛(纯答案)03-17
眼睛的旅行作文600字07-06
RV-RZ维修手册 - 图文04-29
那一次我成功了作文400字06-29
- 供应商绩效评价考核程序
- 美国加州水资源开发管理历史与现状的启示
- 供应商主数据最终用户培训教材
- 交通安全科普体验教室施工方案
- 井架安装顺序
- 会员积分制度
- 互联网对美容连锁企业的推动作用
- 互联网发展先驱聚首香港
- 公司文档管理规则
- 机电一体化系统设计基础作业、、、参考答案
- 如何选择BI可视化工具
- 互联网产品经理必备文档技巧
- 居家装修风水的布置_家庭风水布局详解
- 全省基础教育信息化应用与发展情况调查问卷
- 中国石油--计算机网络应用基础第三阶段在线作业
- 【知识管理专题系列之五十八】知识管理中如何实现“场景化协同”
- 网络推广方案
- 中国石油--计算机网络应用基础第二阶段在线作业
- 汽车检测与维修技术专业人才培养方案
- 详解胎儿颈透明层
- 文件夹
- 操作
- 文档
- 文件
- 详细
- PHP
- 2007年杭州电子科技大学数字电路考研试题
- 工学结合一体化课程教学资源建设初探
- 范本:参加工作后的入党申请书
- 宽带多媒体卫星通信技术研究
- 讲农民爱听的故事聊农民关心的话题——连云港电视台《李华走乡村》
- 实验3 多级放大电路实验
- Day1-HYD1_rev8B - CN
- 常见的花草
- 童装经营营销模式
- 汪曾祺研究 开题报告
- 第七章 非货币性资产交换
- 小麦选种方法和技巧
- 2015年中考试卷湖北省宜昌市2015年中考英语试题(word版,含答案)
- 通用雪佛兰
- 欧诗漫代理客户要货申请表(最新)9.20
- 高考单项选择易错题40道最新
- 080_CTGMBOSS_OSS_2.5_运营服务分析_ODS-O_系统_培训材料
- 超分子组装
- 2012高考物理一轮复习 直流和交流电路限时集训
- 2013年秋季学期留守儿童心理辅导讲座稿(1)