file文件的操作
- <?php
- //echo readfile('D:\\123.txt');//读取文件内容第一种方式,返回字符串,但是带有长度
- echo '<br>';
- //var_dump(file('D:\\123.txt'));//读取文件内容第二种方式,file返回结果是一个数组
- echo '<br>';
- //echo file_get_contents('D:\\123.txt');//读取文件第三种方式,返回字符串,此方式用的最多
- //echo file_get_contents('http://www.baidu.com');//不仅可以获取本地内容,也可以获取url地址
- //echo readfile('http://www.baidu.com');
- //var_dump(file('http://www.baidu.com'));
- //往文件中写内容,若改文件不存在则会创建一个文件,FILE_APPEND追加内容如果不写是覆盖原内容
- //LOCK_EX独占锁,同时操作一个文件时的先后顺序,
- //file_put_contents('D:\\1235.txt', 'hello FADSF',FILE_APPEND,LOCK_EX);
- //echo file_get_contents('D:\\1235.txt');
- echo basename('D:\\1235.txt');//根据某个路径返回文件名
- echo'<br>';
- echo __FILE__; //返回 目录+文件名
- echo'<br>';
- echo dirname(__FILE__);//dirname获取文件目录名
- echo "<br>";
- echo __DIR__; //等同于dirname(__FILE__); 返回目录
- echo'<br>';
- echo dirname(dirname(__FILE__));
- echo'<br>';
- var_dump(pathinfo('D:\\1235.txt'));//返回文件相关信息,返回值是数组,可添加第二个参数,单独获取一个信息
- echo'<br>';
- echo filetype('D:\\1235.txt');//文件类型
- echo'<br>';
- echo filesize('D:\\1235.txt');//文件大小
- echo'<br>';
- echo filemtime('D:\\1235.txt');//返回Unix时间戳,文件上次的修改时间
- echo'<br>';
- echo date('Y-m-d H:i:m',filemtime('D:\\1235.txt'));
- echo'<br>';
- echo date('Y-m-d H:i:m', fileatime('D:\\1235.txt'));//上次访问时间,创建时间
- echo'<br>';
- echo date('Y-m-d H:i:m',filectime('D:\\1235.txt'));
- echo'<br>';
- copy('D:\1235.txt', 'D:\1236.txt');//从原文件目录复制到目标文件目录
- echo'<br>';
- unlink('D:\\1236.txt');//删除文件
- echo'<br>';
- var_dump(is_dir('D:\wps'));//判断文件路径是否是一个目录
- echo'<br>';
- $dir= dirname(__FILE__);
- $dir=$dir.'/img/img';
- if(!file_exists($dir)){
- //第二个参数x--执行 r--读取 w--写 x:1 r:4 w:2 ;代表权限
- mkdir($dir,0777,TRUE);//第三个参数表示创建文件的时候是否要创建多级目录,比如要创建
$path
=
"dai/php/php学习"
;
由于dai和PHP文件夹都不存在,所以可以使用创建多及目录的方式创建"php学习"文件- }else{
- echo '文件已存在';
- }
- echo'<br>';
- rmdir($dir);//删除目录
- echo'<br>';
文件上传——前台:form.html
- 1 <!DOCTYPE html>
- 2 <html>
- 3 <head>
- 4 <title>TODO supply a title</title>
- 5 <meta charset="UTF-8">
- 6 <meta name="viewport" content="width=device-width, initial-scale=1.0">
- 7
- 8 </head>
- 9 <body><!--enctype MIME编码格式 默认格式下显示 ?name=value& $_POST[name]-->
- 10 <form action="fileup.php" method="post" enctype="multipart/form-data">
- 11 文件1: <input type="file" name="upload1">
- 12 文件2: <input type="file" name="upload2">
- 13 <br>
- 14 <input type="submit" value="提交">
- 15 </form>
- 16 <audio src="../../resource/2016-09-02/陈慧琳-不如跳舞.mp3" autoplay="autoplay" >
- 17
- 18 </audio>
- 19 </body>
- 20 </html>
文件上传方法:
multipart/form-data 上传图片编码格式
enctype=编码格式
iconv(UTF-8,GBK,$name); 编码格式转换
后台通过$_FILES接收文件。
tmp_name 临时文件名,上传文件是系统自动生成
header();
location.href=''; 跳转页面
file_exists(); 文件或目录是否存在,若不存在mkdir()创建;
move_uploaded_file($_FILES[$k]['tmp_name'],路径); 文件上传即把临时文件移动到目标路径中
opendir(一个合法的目录路径); 打开目录,一般情况下在前面加上@来抑制错误,若不能打开则返回false,
readdir(opendir($path)); 读取目录,
$file=readdir(handle);必须写在while中,代表一个指针。handle为使用opendir()打开的一个目录指针。
is_dir(); 判断是否是目录
is_file(); 判断 是否是文件
scandir(); 浏览目录
文件上传代码:fileup.php
- <?php
- $limit_size=1024*1024*15;//限制文件大小
- $type=['.doc','.ppt','.docx','.jpg','.txt','.mp3'];//限制上传文件类型
- echo "<pre>";
- var_dump($_FILES);
- foreach ($_FILES as $k=>$v){
- if(empty($_FILES[$k]['name'])){
- echo "<script>alert('请选择上传文件');location.href='form.html';</script>";
- exit;
- }
- $filename=$_FILES[$k]['name'];
- $ext=strrchr($filename, '.');//某个字符最后一次出现的位置向后截取字符串
- $pos= strrpos($filename, '.');//某个字符最后一次出现的位置
- $name= substr($filename,0,$pos);
- if(!in_array($ext, $type)){
- echo "<script>alert('上传文件格式不对');location.href='form.html';</script>";
- }
- if($_FILES[$k]['size']>$limit_size){
- echo "<script>alert('文件过大');location.href='form.hrml';</script>";
- exit;
- }
- $path=dirname(__FILE__).'/../../resource/'.date('Y-m-d');
- if(!file_exists($path)){//判断文件是否存在
- mkdir($path);//创建
- }
- //文件上传其实就是把临时文件移动到目标文件
- $name= iconv('UTF-8', 'GBK', $name);//编码转换,为了避免有中文字符,最好加上
- $filename= iconv('UTF-8', 'GBK', $filename);
- //if(copy($_FILES['upload']['tmp_name'],$path.'/'.$filename)){
- // echo '上传成功';
- //}else{
- // echo '上传失败';
- //}
- move_uploaded_file($_FILES[$k]['tmp_name'],$path.'/'.$filename);
- }
浏览文件目录:dir.php
- <?php
- $path="../../resource/images";
- function eachdir($path){
- $dir=@opendir($path);
- //$file=readdir($dir);//必须写在while里边,代表一个指针
- while(($file=readdir($dir))!==false){
- // echo $file.'<br>';
- if($file=="."||$file==".."){
- continue;
- }
- if(is_dir($path.'/'.$file)){
- eachdir($path.'/'.$file);
- }elseif(is_file($path.'/'.$file)){
- echo $file."<br>";
- }
- }
- }
- eachdir($path);
- echo '<pre>';
- //var_dump(scandir($path));
file.php 文件的操作函数,
- <?php
- //$handle=fopen('D:\\123.txt', 'r');//fopen打开文件,文件必须存在
- //echo fgets($handle);//读取数据,只能获取一行数
- //feof($handle);//测试文件指针是否到了文件的结束位置。
- //while(!feof($handle)){
- // echo fgets($handle);
- //}
- //fclose($handle);
- //$handle1=fopen('D:\\123.txt', 'w');//如果文件不存在,会自动生成文件
- //fwrite($handle1, 'hello php');
- //fclose($handle1);
- //
- $handle2=fopen('D:\\123.txt', 'a');//追加,append,如果文件不存在会自动生成
- fwrite($handle2, 'append content');
- fclose($handle2);
- $handle= fopen('D:\\123.txt', 'r+');//读写的方式打开文件,
- fwrite($handle, 'hello php');//不完全覆盖原来的文件,按照目前文件的字符数覆盖,
- rewind($handle);//移动文件指针
- while(!feof($handle)){
- echo fgets($handle).'<br>';
- }
- fclose($handle);
- //$handle= fopen('D:\\123.txt', 'w+');//读写的方式打开文件,若文件不存在会自动生成
- //fwrite($handle, 'hello php');//完全覆盖源文件,
- //rewind($handle);//移动文件指针,把指针移动到文件的头,否则只能写入不能读取,
- //while(!feof($handle)){
- // echo fgets($handle).'<br>';
- //}
- //fclose($handle);
- //$handle= fopen('D:\\123.txt', 'a+');//读写的方式打开文件,若文件不存在会自动生成
- //fwrite($handle, 'hello php');//完全覆盖源文件,
- //rewind($handle);//移动文件指针,把指针移动到文件的头,否则只能写入不能读取,
- //while(!feof($handle)){
- // echo fgets($handle).'<br>';
- //}
- //fclose($handle);
- //$handle= fopen('D:\\123.txt', 'rw+');//读写的方式打开文件,若文件不存在不会自动生成
- //fwrite($handle, 'hello php');//完全覆盖源文件,
- //rewind($handle);//移动文件指针,把指针移动到文件的头,否则只能写入不能读取,
- //while(!feof($handle)){
- // echo fgets($handle).'<br>';
- //}
- //fclose($handle);
- //$handle= fopen('D:\\1234.txt', 'x');
- //fwrite($handle, 'hello php');
- //$handle= fopen('D:\\123.txt', 'w+');//读写的方式打开文件,若文件不存在不会自动生成
- //fwrite($handle, "<h1>hello php<h1>");//完全覆盖源文件,
- //rewind($handle);//移动文件指针,把指针移动到文件的头,否则只能写入不能读取,
- //while(!feof($handle)){
- // echo fgetss($handle).'<br>';//fgetss会过滤掉html标签或是PHP标签,一般很少用;
- //}
- //fclose($handle);
- //$handle= fopen('D:\\123.txt', 'w+');//读写的方式打开文件,若文件不存在不会自动生成
- //fwrite($handle, "<h1>hello php<h1>");//完全覆盖源文件,
- //rewind($handle);//移动文件指针,把指针移动到文件的头,否则只能写入不能读取,
- //while(!feof($handle)){
- // echo fgetc($handle).'<br>';//fgetc获取字符
- //}
- //fclose($handle);
- //$handle= fopen('D:\\123.txt', 'w+');//读写的方式打开文件,若文件不存在不会自动生成
- //fwrite($handle, "<h1>hello world<h1>");//完全覆盖源文件,
- //rewind($handle);//移动文件指针,把指针移动到文件的头,否则只能写入不能读取,
- //while(!feof($handle)){
- // echo fread($handle,2).'<br>';//fread第二个参数是字节数
- //}
- //fclose($handle);
文件函数:
fopen(); 打开文件
fgets(); 读取数据,获取下一行
fclose(); 关闭文件
fwrite();
fread(); 读取任意长度字符串
rewind(); 移动指针到文件头
调用fgets函数后,文件指针会移动到下一行,
调用fgetc函数后,文件指针会移动到下一个字符,
读取文件内容有三种方法: (这里的内容包括本地内容和url地址)
1,readfile();返回字符串和长度
2,file(); 返回数组
3,file_get_contents(); 返回字符串
file_get_contents(); //集合了fopen(),fgets(),fclose()
file_put_contents(文件地址,追加内容,FILE_APPEND); //相当于fopen(),fwrite(),fclose,
basename(); 根据路径返回文件名
dirname(/a/b); 获取目录的名称/a
dirname(__FILE__);相当于__DIR__
directory-separator 文件目录分割符,是一个常量,在Windows下时\ 在Linux下是/
pathinfo(); 返回文件相关信息(数组)
mkdir(); 新建目录
rmdir(); 删除目录
file文件的操作的更多相关文章
- javaSE——File文件的操作
File文件操作: 在java中,File是文件和文件夹的总称. 在java中也是一个类,可以创建多个file对象. File类的一些API import java.io.File; public c ...
- java中的File文件读写操作
之前有好几次碰到文件操作方面的问题,大都由于时间太赶而没有好好花时间去细致的研究研究.每次都是在百度或者博客或者论坛里面參照着大牛们写的步骤照搬过来,之后再次碰到又忘记了.刚好今天比較清闲.于是就在网 ...
- (七)File 文件的操作
一.文件读写模式 1.文件的几种模式: 格式:f=open("文件名","模式",encode="utf-8") #文件的只读模式 f1=o ...
- FILE文件删除操作(删除指定文件夹下所有文件和文件夹包括子文件夹下所有文件和文件夹),就是删除所有
2018-11-05 19:42:08开始写 选择 删除 1.FileUtils.java类 import java.io.File;//导入包 import java.util.List;//导入 ...
- file 文件的操作
1.写入文件: (1)第一种方式 f = open("filename",'mode') #先打开一个文件,没有的话创建这个文件,mode是模式.有r 只读,w写,rw读写 ...
- ArcGIS加载数据中常用的File文件方法总结
在介绍ArcGIS中各种数据的打开方法时,我们用到了许多对于File文件的操作,在此做一个常用用法的总结.例如, 介绍ArcGIS中各种数据的打开方法——mxd(地图文档) 以方法一为例:运用Load ...
- Java文件IO操作应该抛弃File拥抱Paths和Files
Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem; ...
- Java文件IO操作应该抛弃File拥抱Path和Files
Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem; ...
- C语言中file文件指针概念及其操作 (转载)
文件 文件的基本概念 所谓"文件"是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名.实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件. ...
随机推荐
- 微信 小程序 drawImage wx.canvasToTempFilePath wx.saveFile 获取设备宽高 尺寸问题
以下问题测试环境为微信开发者0.10.102800,手机端iphone6,如有不对敬谢指出. 根据我的测试,context.drawImage,在开发者工具中并不能画出来,只有预览到手机中显示. wx ...
- 微信小程序管理后台介绍
微信小程序的管理后台,每次进入都需要扫码,还是特别不爽,现在微信小程序还没正式发布,很多人都还没看到管理后台,这里抢先发布出来 ------------------------------------ ...
- android加固系列—1.如何检验so文件是否加壳成功
程序对so文件加壳后,如何验证是否加壳成功呢,首先除了能在应用中正常运行外,还要用IDA来检测: 绿色乱码表示rr这个函数成功加密: 工具下载,可支持动态调试版:
- 【iOS】开发常用命令
环境信息: Mac OS X 10.10.1 删除指定后缀名的文件 进入指定文件夹,输入: find . -name .svn | xargs rm -Rf 查看全部隐藏文件 defaults wri ...
- 普通View的measure流程
对于普通的view,其测量在ViewGroup中的measureChildWithMargins函数中调用child view的measure开始测量. 1:从measure函数开始 public f ...
- iOS之 FBMemoryProfiler FB的循环引用检测工具
经过两天的google终于搞定了FBMemoryProfiler这个开源检测循环引用的工具.中间的曲折也是让人头疼,言归正传直接说一下这个memoryProfiler github:https://g ...
- 2.3 CMMI2级——项目跟踪和控制(Project Monitoring and Control)
计划不是用来看的,是用来执行的.PP讲述了如何做计划,PMC讲述的就是如何跟踪计划的执行并在实际情况偏离计划时采取纠正行动. 我们先看看SG1,SG1讲述的是如何根据计划来跟踪计划的执行问题. SG1 ...
- 1.5 基础知识——GP2.3 提供资源(Resources) 与 GP2.4 分配职责(Responisbility)
摘要: 没有资源和落实权责,将无法做好事情,这是很多公司很多人都懂的道理.但很多做CMMI改进的公司,号称很多核心人员负责过程改进,其实是兼职挂牌而已,有些甚至招聘应届生作为过程改进的主力…… 如此这 ...
- 解析ABP框架中的事务处理和工作单元,ABP事务处理
通用连接和事务管理方法连接和事务管理是使用数据库的应用程序最重要的概念之一.当你开启一个数据库连接,什么时候开始事务,如何释放连接...诸如此类的. 正如大家都知道的,.Net使用连接池(connec ...
- yii2 GridView 日期格式化并实现日期可搜索 案例
作者:白狼 出处:http://www.manks.top/article/yii2_gridview_dateformat_search 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且 ...