PHP提供了一系列文件函数可以对文件进行操作,同时也支持文件上传的功能。
在PHP中,访问一个文件要经历三个步骤,打开文件,读写文件,关闭文件。
- 打开文件
resource fopen(string filename,string mode)
filename 文件的完整路径名
mode 文件的打开方式,一般常用的有 r(只读) w(只写) a(追加写)
<?php $file1 = fopen("count.txt","r");//文件不存在会报错 $file2 = fopen("C:/count.txt","w");//文件不存在会创建文件,文件存在会清空文件的内容。
读文件
读取一个字符 string fgetc(resouce handle);
读取一行数据 string fgets(resource handle);
读取任意长度的字符串 string fread(resouce handle,int length);
读取整个文件 int readfile(string filename);//不用打开关闭文件 也不用echo print
array file(string filename);按行将文件内容存在数组中
string file_get_contents(string filename);
写文件
int fwrite(resource handle,string string);
int file_put_contents(string filename,string data);
关闭文件
bool fclose(resource handle);
另外还有很多文件操作的函数,使用时自行查找。
====================================================================
文件的上传
要实现文件上传功能,需要配置php.ini文件
file_uploads = On; 是否支持文件上传功能,必须开启
upload_tmp_dir ="D:\tmp\"; 上传文件的临时目录
upload_max_filesize = 2M; 允许上传文件的大小
File_Uploads还有几个属性会影响上传文件的功能
max_execution_time PHP中的一个指令能执行的最大时间
memory_limit PHP一个指令分配的内存空间
$_FILES存储的是上传文件的相关信息 该变量是一个二维数组
$_FILES[filename][name] 上传文件名
$_FILES[filename][size] 上传文件大小
$_FILES[filename][tmp_name]
$_FILES[filename][type] 上传文件的类型
$_FILES[filename][error]
文件上传函数
bool move_uploaded_file(string filename,string destination);
<form name="form1" method="post" enctype="multipart/form-data" action=""> <input type="file" name="upfile"> <input type="submit" value="submit"> </form> <?php if(!empty($_FILES)){ foreach($_FILES["upfile"] as $name=>$value){ echo "$name $value"."<br>"; } $path = "upfile/".$_FILES["upfile"]["name"]; move_uploaded_file($_FILES["upfile"]["tmp_name"],$path); }
==============================================================