此篇实现了PHP对文件的系列操作,包括文件的读写和处理、文件的上传、文件的下载。

1、简单写文件:file_put_contents("文件名","数据字符串");//写数据到文件

2、简单读文件:$内容1=file_get_contents(“文件名”);//从文件中读取内容到内容1中

//file_put_contents("ww.txt",file_get_contents("http://localhost:8080/ main.php"));//获取网页源码

3、读文件并输出:readfile("ww.txt");//也可传递URL,内容自接输出无需加echo等

4、读文件以行为单位存入数组:$文件行数组=file(“文件名");

5、取目录名:dirname($文件路径字符串)//返回目录字符串

6、获取文件名:basename("字符串");//获取文件名

7、创建目录:mkdir(“目录名字符串“)//创建的目录必须是一个,存在会出现错误//第二个参数如:0777

8、删除空目录:rmdir("空目录名");//返回bool

9、创建文件:touch("文件名")//返回bool

10、删除文件:unlink("文件名或文件名路径");

11、检查文件或目录是否存在:file_exists(“文件字符串”)//返回bool

12、基本判断(内容必须存在):判断是否是目录【is_dir(“字符串”)】、 判断是否是文件【is_file(“字符串”)】

13、获取文件修改时间:filemtime("文件字符串");//返回时间戳

14、获取文件大小:filesize("文件字符串");//返回字节数

15、文件重命名和移动:rename(“原文件”,"新文件");//返回bool

16、文件复制:copy("原文件","新文件");//返回bool

17、文件权限:【is_readable()】、【is_writable()】【is_executable()】//读 写 执行

18、目录分隔符:DIRECTORY_SEPARATOR;//在liux系统为“/”,在win下为“\”

19、换行符:PHP_EOL//在liux系统为“\n”,在win下位“\r\n”

20、获取磁盘总大小:echo disk_total_space("C:");//返回字节数

21、获取磁盘可用空间总大小:echo disk_free_space("C:");//返回字节数

echo "C磁盘总大小:".round(disk_total_space("C:")/pow(2,30),2)."G";//打印以G为单位大小

22、目录:当前目录(点加斜杠)【 . / 】,上级目录(点点加斜杠)【 . . /

23、打印目录下文件:print_r(glob("dirdong/*php"));//获取文件夹dirdong下的php文件,无到子目录

24、遍历文件夹:

 $dir=opendir("./dirdong");//打开文件资源
while($fi=readdir($dir)){//循环
if(is_dir("./dirdong/".$fi)) echo "目录:".$fi."<br/>";
if(is_file("./dirdong/".$fi)) echo "文件:".$fi."<br/>";
}
closedir($dir);//关闭文件资源

25、利用文件指针的方式读写文件:

 /*打开模式:

 r   只读方式,文件指针处于开始
r+ 读写方式,文件指针处于开始,文件无报错
w 只写方式,文件指针处于开始
w+ 读写方式,文件指针处于开始,文件无则创建
a 写追加方式,文件指针处于末尾,文件无则创建
a+ 读写方式,文件指针处于末尾,文件无则创建
rb wb 二进制读写方式
rt wt 文本方式读写方式 */
$f=fopen("ww.txt","r+");//打开文件 ww.txt 资源 fseek($f,3);//从前往后移动文件指针3个字节 fseek($f,-2,SEEK_END);//从后往前移动文件指针2个字节 rewind($f);//将指针数组移动至开头 echo ftell($f);//查看文件指针位置 //循环读取文件内容
//while(!feof($f)){//判断文件结尾
//echo fgetc($f);//只读取一个字节
//} //echo fgets($f);//一次读一行 //echo fread($f,2);//读取两个字节 //fwrite($f,"32w东小东\nxxx");//写内容 fclose($f);//关闭文件资源

26、文件锁,防止同时操作文件造成数据絮乱:

 flock($f,LOCK_EX);//设置写锁,返回bool
flock($f,LOCK_SH);//设置读锁,返回bool
//文件读写操作
flock($f,LOCK_UN);//释放锁,返回bool

27、文件上传到服务器:

HTML:

   <form action="wan.php" method="post" enctype="multipart/form-data">

      <input type="text" name="namexx">
<br>
<input type="file" name="filexx">
<br/>
<input type="submit" value="东小东上传">
</form>

PHP:

 //error_reporting("E_ALL & ~ E_NOTICE");
echo '<meta charset="utf-8">';//解决乱码问题
//post数据,无文件数据
print_r($_POST);
//文件数据 名字,类型,零时目录,大小等
print_r($_FILES["filexx"]);
//设置保存地址
$filepath="img/".$_POST["namexx"];
//拷贝零时文件到保存目录
if(move_uploaded_file($_FILES["filexx"]["tmp_name"],$filepath)){
echo "上传成功";
}else{
echo "上传失败";
}

文件上传错误值:

28、多文件上传基本思路:利用文件数组

 <input type="file" name="filexx[]">
<input type="file" name="filexx[]">

29、文件下载:通过返回头告诉客户端此为附件即可

 //告诉浏览器此文件为附件(可下载,不用浏览器解析)
header("Content-Disposition:attachment;filename=任意文件名1");
//输出内容
readfile("任意文件名1");

PHP文件基本操作及文件的上传和下载的更多相关文章

  1. Linux--用SecureCRT来上传和下载文件

    SecureCRT下的文件传输协议有以下几种:ASCII.Xmodem.Ymodem.Zmodem ASCII:这是最快的传输协议,但只能传送文本文件. Xmodem:这种古老的传输协议速度较慢,但由 ...

  2. PHP之文件的锁定、上传与下载

    小结文件的锁定机制.上传和下载 1.文件锁定 现在都在讲究什么分布式.并发等,实际上文件的操作也是并发的,在网络环境下,多个用户在同一时刻访问页面,对同一服务器上的同一文件进行着读取,如果,这个用户刚 ...

  3. SecureCRT来上传和下载文件

    引用:https://www.cnblogs.com/zhengyihan1216/p/6260667.html Linux--用SecureCRT来上传和下载文件 SecureCRT下的文件传输协议 ...

  4. 通过JAVA对FTP服务器连接,上传,下载,读取,移动文件等

    记录一次对FTP服务器文件内容 通过Java程序对FTP服务器文件处理:连接,上传,下载,读取,移动文件等. 需求描述:今天接到一个任务,在Java项目中,读取FTP服务器上的一些文件,进行一些业务操 ...

  5. 用SecureCRT来上传和下载数据

    借助securtCRT,使用linux命令sz可以很方便的将服务器上的文件下载到本地,使用rz命令则是把本地文件上传到服务器. 其中,对于sz和rz的理解与记忆我用了如下的方法(很多时候容易搞混): ...

  6. java web(四)文件上传与下载

     一.文件上传原理 1.在TCP/IP中,最早出现的文件上传机制是FTP ,它是将文件由客户端发送到服务器的标准机制:但是在jsp使用过程中不能使用FTP方法上传文件,这是由jsp运行机制所决定. 通 ...

  7. phonegap文件,目录操作以及网络上传,下载文件(含demo)

    正在做一个跨平台的应用,需要使用phonegap进行文件的一些基本操作. 需求如下:可以选择本地图片,或者从相机选择图片,并进行显示在本地,然后上传到服务器,以及可以从服务器下载图片显示出来,如果本地 ...

  8. Python 进行 SSH 操作,实现本地与服务器的链接,进行文件的上传和下载

    Python 进行 SSH 操作,实现本地与服务器的链接,进行文件的上传和下载 2018年5月26日 19:03 阅读 375 评论 7 我本地和服务器的连接一直使用的是 Xshell 5,而在与服务 ...

  9. 11、Struts2 的文件上传和下载

    文件上传 表单准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设置 ...

  10. Java实现FTP文件与文件夹的上传和下载

    Java实现FTP文件与文件夹的上传和下载 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制 ...

随机推荐

  1. EasyPR源码剖析(6):车牌判断之LBP特征

    一.LBP特征 LBP指局部二值模式,英文全称:Local Binary Pattern,是一种用来描述图像局部特征的算子,LBP特征具有灰度不变性和旋转不变性等显著优点. 原始的LBP算子定义在像素 ...

  2. [规则原则定理]规则原则定理章4 HTTP&RPC

    rpc是远端过程调用,其调用协议通常包含传输协议和序列化协议. 传输协议包含: 如著名的 [gRPC](grpc / grpc.io) 使用的 http2 协议,也有如dubbo一类的自定义报文的tc ...

  3. 根据select出来的数据进行update

    update t_tbl_desc set num=b.num from t_tbl_desc a, (select distinct(name) as name,count(name) num fr ...

  4. char对比varchar

    char对比varchar 相同点:char与varchar都是存储字符串的数据类型 不同点:char是固定长度的字符类型,而varchar是可变长度的字符类型,这个一定要注意.另外进行select时 ...

  5. 《修炼之道:.NET开发要点精讲》读书笔记(一)

    CLR 公共语言运行库 没有CLR的存在,就不能讲该中间件转换成对应操作系统中的机器指令. 程序集是非完全编译的产物,它兼备了源代码和本地代码的特性,是一种介于源代码和本地代码之间的独立存在的一种数据 ...

  6. 【Java】基本数据类型

    基本知识点给个链接: https://blog.csdn.net/qwe969153746/article/details/53353534 问题: 1.3*0.1 == 0.3 返回什么: fals ...

  7. Nikto主动扫描神器!!!

    Perl语言开发的开源web安全扫描器 Nikto只支持主动扫描:可扫描web服务器类型是不是最新版本(分析先版本与新版相比有哪些漏洞) 针对:1.软件版本.2.搜索存在安全隐患的文件.3.服务器配置 ...

  8. Web Service CXF的工作流程

    我们一起走进系统的内部,跟随每一个调用,去透视系统的每一个层面. 一.我们定义整个目录都在CXFServlet的监控之下 <servlet> <servlet-name>CXF ...

  9. 与我们息息相关的internet服务(2)---WWW服务

    在起步一个公司,从组建的技术上,可能要准备很多东西,其中一个就是我们熟悉的公司网站    网站,在初中,那时浏览一个网页可叫网上冲浪,听起来似乎比洗澡还爽快,可现在这词就是土鳖,网上冲浪火起来主要是应 ...

  10. IOS 模拟器多开集成测试和那些坑

    #### 前言公司一直没有IOS自动化,搞得很尴尬,个人感觉搞自动测试的,不搞IOS自动化,就像金X,少了重要一点啊.也向领导申请过不止一次,总只都各种原因没有分配机器,不了了之.某天线上IOS出bu ...