首页 > PHP——文件操作

PHP——文件操作

自己写的:

PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



无标题文档

php
echo filetype("../1.txt");//输入路径,判断文件类型  文件——》file 文件夹(目录)——》dir "./"当前路径
echo filetype("../code");
//操作服务器所在磁盘的文件
is_dir(); //判断是否是目录
is_file();//判断是否是文件
fileatime();//文件上次访问的时间(时间戳) date()
filectime();//文件的创建时间
filemtime();//文件的修改时间
filesize();//文件的大小(返回字节)filesize/1024(kb)
file_exists();//文件是否存在//文件的路径
//当前路径——不写或者"./" 一般不用"" 
//上一级文件夹——用"../"
//根目录——"/":1、php代表的是磁盘的根 2、如果用html写代表的是服务器的根
$_SERVER['DOCUMENT_ROOT'];//找网站的根目录(服务器的根)
basename();//输入路径返回文件名
dirname();//输入路径返回目录名(文件所在的文件夹)
pathinfo();//返回路径的所有信息,返回类型为数组
realpath();//相对路径转换为绝对路径//目录的操作
mkdir();//新建目录(创建文件夹)
rmdir();//删除目录:只能删除空的文件夹,当目录中存在文件是无法删除
rename();//移动目录文件(重命名)
glob("*");//遍历当前目录 返回数组——获取该目录下所有文件 "*.php"——筛选
//用目录资源操作目录
opendir();//打开目录资源
closedir();//关闭目录资源(操作完之后要关闭)
readdir();//有指针效果"."——当前目录,".."——上一级目录
rewinddir();//指针返回第一个//打开目录资源$dir = opendir("./code");//读文件,每读一条指针向下走一个,注意第一个是.代表当前目录,第二个是..代表上一级目录while($filename = readdir($dir)){echo $filename."
";}echo "***************************";rewinddir($dir);while($filename = readdir($dir)){echo $filename."
";}//关闭资源closedir($dir);//文件操作 //文件整体操作 touch();//创建文件 copy();//复制文件 unlink();//删除文件 file_get_contents();//读取文件内容 file_put_contents();//写入文件内容,会把原来文件内容覆盖 readfile();//直接读取并且显示出来 file();//将文件内容返回到数组里面//文件内容的操作 fopen();//打开文件资源 fclose();//关闭文件资源 fwrite();//写入内容 fgetc();//读取文件内容,有指针效果,一次读一个字符 feof();//读到末尾或者出错时返回true fgets();//读取文件内容,一次读一行 fread();//读取内容,可以控制读取的长度$fp = fopen("./2.txt","r"); //打开文件资源fwrite($fp,"bbbbbbbbbbb");//写入内容while(!feof($fp)) //当读取出错或者读到末尾返回true {echo fgetc($fp); //读取内容,一个字符一个字符读,读完指针下移 }while(!feof($fp)){echo fgets($fp)."
"; //读取内容,每次读一行 }?>

比较完整的

PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



无标题文档

php//echo filetype("./1.jpg"); //判断文件类型  文件:file //echo filetype("./code"); //目录 dir//echo is_dir("code"); //判断是不是目录//echo is_file("1.jpg"); //判断是不是文件//echo date("Y-m-d H:i:s",fileatime("1.jpg")); //获取上次的访问时间//echo date("Y-m-d H:i:s",filectime("1.jpg")); //文件的创建时间//echo date("Y-m-d H:i:s",filemtime("1.jpg")); //文件的修改时间//echo filesize("1.jpg")/1024; //文件的大小//echo file_exists("2.jpg"); //判断文件是否存在//echo filetype("/wamp");  //当前路径用./或不写;上以及用../; /*正斜杠/代表根目录。如果是在php语言里写/则代表磁盘的根,如果是在网页的页面里面使用/则代表服务器的根*///echo "";//echo $_SERVER['DOCUMENT_ROOT']; //找网站的根目录//echo basename("./code/db.inc.php",".php"); //从路径中返回文件名//echo dirname("./code/db.inc.php");//从路径中返回目录名//print_r(pathinfo("./code/db.inc.php"));//返回路径的所有信息,返回类型是数组//echo realpath("1.jpg"); //将相对路径转换为绝对路径/*目录操作*///mkdir("./suiji"); //创建文件夹(目录)//rmdir("./suiji"); //删除目录,只能删除空的文件夹//rename("./name","./code/suiji"); //移动或重命名文件夹//print_r(glob("./code/*.php")); //获取该目录下所有文件,可以筛选/* //打开目录资源$dir = opendir("./code");//读文件,每读一条指针向下走一个,注意第一个是.代表当前目录,第二个是..代表上一级目录while($filename = readdir($dir)){echo $filename."
";}echo "***************************";rewinddir($dir);while($filename = readdir($dir)){echo $filename."
";}//关闭资源closedir($dir);
*//*文件操作*///touch("./2.txt"); //创建文件//copy("./2.txt","./code/2.txt"); //复制文件//unlink("./code/2.txt"); //删除文件//echo file_get_contents("http://www.baidu.com"); //读取文件//file_put_contents("./2.txt","hello world"); //写入内容,会覆盖//readfile("http://www.baidu.com"); //读文件内容直接输出//$attr = file("./2.txt"); //读文件内容,然后返回每一行的数组$fp = fopen("./2.txt","r"); //打开文件资源//fwrite($fp,"bbbbbbbbbbb");//写入内容/*while(!feof($fp)) //当读取出错或者读到末尾返回true{echo fgetc($fp); //读取内容,一个字符一个字符读,读完指针下移}*//*while(!feof($fp)){echo fgets($fp)."
"; //读取内容,每次读一行}
*///echo fread($fp,100); //读取内容,可以控制读取多少个字符fclose($fp);?>

文件上传和文件下载

PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



无标题文档

下载文件

chuli.php

PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



无标题文档

php/*echo $_FILES["file"]["name"]."
"; echo $_FILES["file"]["type"]."
"; echo $_FILES["file"]["size"]."
"; echo $_FILES["file"]["tmp_name"]."
"; echo $_FILES["file"]["error"];
*///1.判断是否出错 if($_FILES["file"]["error"]) {echo "文件上传出错!"; } else {//2.加限制条件if(($_FILES["file"]["type"]=="image/jpeg" || $_FILES["file"]["type"]=="image/jpg") && $_FILES["file"]["size"]<=102400){//3.造一个文件的存储路径$str = date("YmdHisms",time());$filename = "./images/".$str.$_FILES["file"]["name"];//4.判断文件是否存在if(file_exists($filename)){echo "该文件已经存在!";}else{//5.移动文件move_uploaded_file($_FILES["file"]["tmp_name"],iconv("UTF-8","gb2312",$filename));echo "该文件成功上传,保存在了:".$filename;}}else{echo "文件不符合要求!";} }?>

 

 

统计一个目录下的文件和目录的个数

php$dirn = 0; //目录数$filen = 0; //文件数//用来统计一个目录下的文件和目录的个数function getdirnum($file) {global $dirn;global $filen;$dir = opendir($file);while($filename = readdir($dir)) {if($filename!="." && $filename !="..") {$filename = $file."/".$filename;if(is_dir($filename)) {$dirn++;getdirnum($filename);  //递归,就可以查看所有子目录} else {$filen++; }}}closedir($dir);}getdirnum("./code");echo "目录数为:{ $dirn}
";echo "文件数为:{ $filen}
";

统计一个目录下大小

php//用来统计一个目录下大小function dirsize($file) {$size = 0;$dir = opendir($file);while($filename = readdir($dir)) {if($filename!="." && $filename !="..") {$filename = $file."/".$filename;if(is_dir($filename)) {//使用递归$size += dirsize($filename);} else {$size += filesize($filename);}}}closedir($dir);return $size;}echo "code目录大小为:".(dirsize("./code")/pow(1024,1))."KB
";

删除目录,文件及内容

phpfunction deldir($dirname) {if(!file_exists($dirname)) {die("文件夹不存在!");}//如果是文件,直接删除即可if(is_file($dirname)) {unlink($dirname);}$dir = opendir($dirname);while($filename = readdir($dir)) {if($filename !="." && $filename!="..") { //*******$filename = $dirname."/".$filename;if(is_dir($filename) ) {deldir($filename);}else {unlink($filename);}}}closedir($dir);rmdir($dirname);}deldir("./code");

 

转载于:https://www.cnblogs.com/Chenshuai7/p/5216503.html

更多相关:

  • 本文来自 运维人生 ,作者:fly是个稻草人链接:http://www.ywadmin.com/?id=76误删除linux系统文件了?不用急,本文将给你一个恢复linux文件的方法,让你轻松应对运维中的各风险问题。方法总比问题多~说在前面的话针对日常维护操作,难免会出现文件误删除的操作。大家熟知linux文件系统不同win有回收...

  • 原文来自SecIN社区—作者:WiHat0x00 什么是WebShell渗透测试工作的一个阶段性目标就是获取目标服务器的操作控制权限,于是WebShell便应运而生。Webshell中的WEB就是web服务,shell就是管理攻击者与操作系统之间的交互。Webshell被称为攻击者通过Web服务器端口对Web服务器有一定的操作权限,而...

  • 断电时文件系统发生了什么?硬盘又发生了什么?下一次开机时写到一半的文件在系统层面还在吗?在底层还在吗?更进一步的, 文件系统如何保证事务性, 会不会存在某种极端情况导致例如最后几个bit还没写完, 文件系统却认为它成功了的情况?回答不限任何文件系统,谢谢!下面是「北极」的回复分享断电的一瞬间,很多事情是无法确定的:1. 你无法确定...

  • 接到项目需求。需要搭建一个页面进行交互,慢慢来b (2).jpg使用python django框架进行页面的搭建在项目文件下打开窗口,输入命令;django-admin startproject helloword#在文件helloword/helloword/创建view.py在view.py文件中输入以代码from django....

  • 常见的错误集合解决方案(一)No.1提示错误'Microsoft.VC90.CRT,version="9.0.21022.8"把Microsoft.NET Framework 3.5.1下面的全部勾选上。No.2解决Qt Designer设计的图标但是VS生成不显示问题描述:在Qt designer中为菜单栏和工具栏设计的图标,但是...

  • 毕业之际给学校搭建了基于ATS的正向代理缓存服务器,专门用来处理优酷土豆等在线视频流量。通过改写一个浏览器做成在线视频专用浏览器,内置了ATS的代理设置。 用php配合memcacheq和小脚本实现了简单的异步预热功能,在实际运用中安全性请自行考虑完善。 工作方式:PHP页面提交URL——>memcacheq<——shell脚...

  • 好久不写shell脚本,有些生疏。总结下shell的语法,以便后续参考,快速捡起来。 shell 脚本执行的3种方式: 1). ./xx.sh (xx.sh 需要有执行权限) 2). source xx.sh 3). bash xx.sh 变量定义 var=2 //注意:=左右没有空格 变量引用的2种方式 $符号就是变量解引用...

  • 作者:荒原之梦 原文链接:http://zhaokaifeng.com/?p=538 前言: “Ping”属于ICMP协议(即“Internet控制报文协议”),而ICMP协议是TCP/IP协议的一个子协议,工作在网际层。ICMP协议主要用于传输网络是否连通、主机是否可达以及路由是否可用等控制信息。Ping可以回显TTL生存...

  • 前言:俗话说的好,懒是第一生产力,懒是提高生产效率的必要条件。而现今windows是大部分人的第一生产工具,批处理+定时任务这对黄金搭档就是提升生产效率的第一工具。大家在生产过程中经常会遇到各种周期性的重复的工作,比如我现在每天都会更换最新的jar包并重启tomcat,linux服务器我们可以用shell+crontab,而windo...

  •   Linux 登陆服务器敲命令太多,某时候确实不便,所以就用shell写了一个  我的blog地址: http://www.cnblogs.com/caoguo   一.说明 支持秘密和密钥两种格式用户名和密码都是写文件的,明文保存二.配置 密码文件配置:序号:IP:端口:用户:密码:说明 1:192.168.88.128:22:...

  • 这里用散装版本的AutoScssStruct4Vue为例 先去https://github.com/accforgit/AutoScssStruct4Vue下载 然后把解压后的包放入C:UsersAdministrator.vscodeextensions(地址根据你自己的安装目录而定)    点开目录在资源管理器...

  • 网上搜到的结果大都不令人满意,这里综合了网上的结构,做了小许改动.希望对大家有帮助. 在Linux下的目录结构操作基本上使用opendir,readdir,closedir就够了. #include #include #include #include

  • 文章目录git 最小配置作用域git 创建本地仓库git log 查看版本演进.git 目录refs目录objectsgit 三种对象类型详解 (commit ,tree,blob)...

  • 一 . 进入目录权限 如果我在普通用户下创建了一个目录f1,然后使用chomd u-rwx,g-rwx,o-rwx之后,我在普通用户下想进入f1目录,权限不允许。 然后我切换到超级用户下,再次尝试进入到f1目录,这个时候允许进入。 然后回到普通用户下,只给f1的所有者读的权限,然后在普通用户下尝试进入,此时权限还是...

  • windows下rpc框架thrift的环境配置 引用链接: https://www.cnblogs.com/49er/p/7193829.html 最近在弄windows下 的Facebook的rpc 框架 thrift , 网上东西看了很多, 但是大都不能一篇到位, 这里总结了一下, 也记一下自己遇到的问题和解决的方法 这里...