PHP 代 码 操 作 文 件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body>
<?php
//php中的文件指的是文件和文件夹,不是单指文件。 /*
//1.判断(判断是文件还是文件夹)
var_dump(filetype("./aa.txt"));//关键字:filetype 找文件,输出结果file,代表的是文件。 var_dump(filetype("./aa")); //关键字:filetype 找文件夹,输出的是dir,代表的是目录。 var_dump(is_file("./aa.txt"));//关键字:is_file 判断是不是文件,是就返回true var_dump(is_file("./aa"));//不是返回flase var_dump(is_dir("./aa.txt"));//关键字:is_dir 判断是不是文件夹,不是返回flase var_dump(is_dir(",aa"));//是就返回true */
/*
//2.文件属性 //关键字date输出的时间戳格式化显示
echo date(fileatime("./aa.txt"));//关键字:fileatime获取文件上次访问的时间,返回的是时间戳。
echo date("Y-m-d h:i:s",fileatime("./aa.txt"));//date把时间戳转化为时间 echo date("Y-m-d h:i:s",filectime("./aa.txt"));//关键字:filectime获取文件创建时间 echo date("Y-m-d h:i:s",filemtime("./aa.txt"));//关键字:filemtime获取文件修改时间 echo filesize("aa.txt"); //返回文件的大小,单位是字节b var_dump(file_exists("aa.txt")); //关键字:file_exists 判断文件是否存在,存在返回true,不存在返回flase */
//3.文件路径 // ./代表当前路径
// ../代表上级路径
// / 在页面指文档根,在php里面的根代表是磁盘目录,网页里面/也是代表根,是www目录。
//echo $_SERVER['DOCUMENT_ROOT']; // <--关键字- 返回D:/wamp/www/取的是服务器的根
//echo basename("/wamp/www/index.php");//返回index.php,返回的是文件名。 //echo basename("/wamp/www/index.php",".php");//返回index,返回的只是文件名。 //echo dirname("/wamp/www/index.php");//返回/wamp/www,只是获取目录。 //var_dump(pathinfo("/wamp/www/index.php"));//返回数组,里面是文件存在的目录、文件名、文件格式等信息。 //echo realpath("./aa.txt");//返回D:\wamp\www\wenjiancaozuo\aa.txt,把相对路径转化为绝对路径。 //4.目录操作 //mkdir("./bb");//创建目录 //rmdir("bb");//删除目录,只能删除空文件夹。文件夹里有内容是不能删除的,会报错。 //rename("./cc","./aa/cc");//移动文件夹,实际上是把文件重新命名位置。 //rename("./cc","./aa/dd");//移动的同时可以更改文件名。 //5.遍历目录** //var_dump(glob("./zufang/*"));//遍历租房文件夹下所有的文件,相当于未按里面的额搜索。 //var_dump(glob("./zufang/*.php"));//遍历文件格式为php的文件 /*$dir = opendir("./zufang");//打开目录资源,打开以后一定要记得关闭。 //echo readdir();//返回. .代表当前目录
//echo readdir();//返回.. ..代表上级目录
//echo readdir();//返回第一个文件
//echo readdir();//返回第二个文件 while($f = readdir($dir))//遍历出所有的文件,文件夹也可以读取。
{
echo $f;
} closedir($dir);//关闭目录资源
*/ //例题:给一个文件夹,读取文件夹里面文件的数量 /*echo ShuLiang("./zufang");
function ShuLiang($filename)
{
$sum = 0;
$dir = opendir($filename);
while($f = readdir($dir))
{
if($f=="." || $f=="..")//如果遍历出的是.或者..,什么也不执行.
{ }
else
{
$lujing = $filename."/".$f;
if(is_file($lujing))
{
$sum++;
}
else
{
$sum = $sum+ShuLiang($lujing);
}
}
}
closedir($dir);
return $sum;
}
*/ //6.文件操作 //(1)文件整体操作 //touch("./cc.txt");//创建文件 //copy("./cc.txt","./aa/cc.txt");//赋值文件,第一个参数是要复制的文件,第二个是把文件复制到哪里。 //unlink("./cc.txt");//删除文件 //echo file_get_contents("./aa.txt");//读取文件内容只能读取txt、html、php等,word、wxcle文档不能读取。 //echo file_get_contents("http://www.baidu.com");//这个方法比较重要,可以从网上抓取数据,用正则表达式匹配。 //file_put_contents("./aa.txt","hello");//往文件里写内容,写的内容会覆盖原来的内容。 //file_put_contents("./ceshi.php","hello");//修改往网页里面的内容 //readfile("http://www.baidu.com");//获取并且输出,前面没有写输出。 file_get_contents需要写输出echo。 //var_dump(file("http://www.baidu.com"));//把网页的代码一行一行的显示出来。 /*$f = fopen("./aa.txt","r");//第一个参数是打开的文件,第二个是打开的方式,方式具体可以查看php手册。 //echo fgetc($f);//aa.txt的内容是hello。这里返回的是h
//echo fgetc($f);//返回e
//echo fgetc($f);//返回l
//....fgetc()是一次读一个 //echo fgets($f);//一次读一行 echo fread($f,2);//读取的长度,这里是读取2个长度,返回he。 fclose($f);//文件打开以后一定要关上,如果不关是不能进行别的操作的。*/ /*$f = fopen("./aa.txt","a");//a方式是追加 fwrite($f,"world");//把world写在hello后面 fclose($f);
*/ //给一个文件夹,删除该文件夹 /*ShanChu("./zufang"); function ShanChu($filename)
{
if(is_dir($filename))//判断是文件
{
$dir = opendir($filename);//打开文件夹 while($f = readdir($dir))//遍历出文件夹里所有的内容
{
if($d=="." || $d=="..")//去掉.和..
{ }
else//操作不是.和..的内容
{
$fname = $filename."/".$f;//找到遍历出的内容,拼出来的格式类似wamp/zufang
if(is_file($fname))//如果是文件
{
unlink($fname);
}
else//如果是文件夹
{
ShanChu($fname);//再调用ShanChu方法,删除的文件夹变了。
}
}
}
closedir($dir);//关闭文件夹
rmdir($filename);//把文件夹里的内容都删除以后,删除文件夹
}
else//如果是空文件夹
{
unlink($filename);//删除该空文件夹
}
}
*/ ?>
</body>
</html>
PHP 代 码 操 作 文 件的更多相关文章
- 适合码农工作时玩的游戏:Scrum
适合码农工作时玩的游戏:Scrum 昨天遇到一个来自微软的面试者,在面试的最后,我简单介绍了一下我们团队使用一周一次的 Scrum 来做项目管理.他回答说:” 我在微软也用 Scrum,不过我们一周两 ...
- Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定)
原文:Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定) ------------------------------ ...
- quartz.net任务调度:源码及使用文档
目录: 1.quartz.net任务调度:源码及使用文档 2.quartz.net插件类库封装 前言 前段时间把自己封装quartz.net 类库的过程总结到博客园,有网友想要看一下源码,所以就把源码 ...
- 在MyEclipse显示struts2源码和doc文档及自动完成功能
分类: struts2 2010-01-07 16:34 1498人阅读 评论(1) 收藏 举报 myeclipsestruts文档xmlfileurl 在MyEclipse显示struts2源码和d ...
- eclipse导入java和android sdk源码,帮助文档
eclipse导入java和android sdk源码,帮助文档 http://blog.csdn.net/ashelyhss/article/details/37993261 JavaDoc集成到E ...
- 一篇学习HTTP状态码的神文:我与依依的橙色岁月
好的,事情是这样的,数年前,我曾有过一段美好的夏日恋情,在此与大家分享. 依依 这个女孩叫做依依 ,她是 80 后的,生日是 1989 年 3 月吧,忘了哪一天了,分手太久了,记不起来了. 转学生 我 ...
- Mahout源码分析之 -- 文档向量化TF-IDF
fesh个人实践,欢迎经验交流!Blog地址:http://www.cnblogs.com/fesh/p/3775429.html Mahout之SparseVectorsFromSequenceFi ...
- Robotium源码解读-native控件/webview元素的获取和操作
目前比较有名的Uitest框架有Uiautomator/Robotium/Appium,由于一直对webview元素的获取和操作比较好奇,另外Robotium代码量也不是很大,因此打算学习一下. 一. ...
- 【C#附源码】数据库文档生成工具支持(Excel+Html)
[2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...
随机推荐
- unity, ComputeScreenPos 作用
这帖子讲得很清楚:https://forum.unity3d.com/threads/what-does-the-function-computescreenpos-in-unitycg-cginc- ...
- sql in not in 案例用 exists not exists 代替
from AppStoke B WHERE B.Opencode=A.Code) in用extist代替 select distinct * from Stoke where Code not in ...
- 传统D3D11程序面向VS2015编译环境的配置修正细节
A. 配置细节 使用#include <unordered_map>替代<hash_map> 这个是c++标准建议的,没啥好说的 使用#include <directx ...
- android的左右滑动效果实现-ViewFlipper
说到android的左右滑动效果我们可以说是在每个应用上面都可以看到这样的效果,不管是微博,还是QQ等.实现左右滑动的方式很多,有ViewPaer(不过这个和需要android-support-v4. ...
- ImageView setImageURI图片不改变\NetWorkImageView 不显示的问题
ImageView 问题描述:图片文件已改变,第二次调用ImageView.setImageURI时无法更新图片 分析:setImageURI方法中对uri进行了缓存,由于第一次加载过了该uri的资源 ...
- 为什么zookeeper会导致磁盘IO高【转】
由于早期的storm版本心跳信息严重依赖zookeeper,心跳风暴会导致zookeeper的事务日志频繁的写磁盘,带来的问题首当其冲的是磁盘IO会爆掉. 优化思路 将zookeeper事务的日志放入 ...
- Asp.Net WebApi学习教程之增删改查
webapi简介 在asp.net中,创建一个HTTP服务,有很多方案,以前用ashx,一般处理程序(HttpHandler),现在可以用webapi 微软的web api是在vs2012上的mvc4 ...
- 11gr2 RAC安装INS-35354问题一例
转自:http://www.askmaclean.com/archives/11gr2-rac安装ins-35354问题一例.html 今天在安装一套11.2.0.2 RAC数据库时出现了INS-35 ...
- Java多线程系列——线程阻塞工具类LockSupport
简述 LockSupport 是一个非常方便实用的线程阻塞工具,它可以在线程内任意位置让线程阻塞. 和 Thread.suspend()相比,它弥补了由于 resume()在前发生,导致线程无法继续执 ...
- Qt 密码框不可选中、复制、粘贴、无右键菜单等
在做用户登录.修改密码的时候,往往会用到密码框,其中一些功能要求与普通的输入框不同. 例如:不能选中.复制.粘贴.无右键菜单等功能,当然设置密码不可见是必须的! 一般的密码框:(默认 可以选中,复制, ...