打开关闭文件
fopen() fclose()
1,打开文件
resource fopen(string file,string mode);
file为文件路径,可以是相对路径,也可以是绝对路径。
mode 为打开方式
r 只读,指针位于文件的开头
r+
W 只写,如果文件存在 就删除它,再创建一个新的写
w+
x 谨慎写,如果文件存在就返回false
x+
a 追加写,如果存在就追加,不存在就创建
a+
b
t
fclose(resource handle)
文件资源使用了之后,就要关闭。
读文件
int readfile(string file) //不需要打开/关闭文件。file为文件路径
array file(string filename) //失败返回false
string file_get_contents(string file[,int offset[,int maxlen]])
string fgets(resource handle[,int length]) //从被打开的文件中读取一行数据,最大不超过length个字节
string fgetss(resource handle[,int length[,string allowable_tags]]) //除了上面的之外,过滤了php,html标签。allowable_tags指定不被过滤的标签。
string fgetc(resource handle) 读取一个字符
string fread(resource handle,int length) 读取任意长度的数据
写文件
int fwrite(resource handle,string string[, int length])
int file_put_content(string file,string data[,int flag]) //php5新增的函数,此函数自动调用fopen(),fwrite(),fclose(),推荐使用此函数
操作文件
bool copy(string path1,string path2) //复制文件从path1到path2
bool rename(string file1,string file2)
bool unlink(string file) //删除文件
string realpath(string filename) //返回绝对路径
........等等
目录处理 (目录是特殊的文件)
bool is_dir(string path)
打开目录
resource opendir(string path)
关闭目录
void closedir(resource handle)
array scandir(string path)
创建目录
bool mkdir(string path)
删除目录
bool rmdir(string path)
取得当前工作的目录
string getcwd()
改变当前目录
bool chdir(string path)
........等等
文件处理的高级应用
修改php.ini
allow_url_fopen 为 ON
fopen('http://127.0.0.1/tm/sl/index.php','rb');
文件指针
锁定文件
在向一个文件写入内容之前需要锁定该文件,以防止其它用户修改此文件内容。
bool flock(resource handle,int operation)
operation参数值
LOCK_SH 取得共享锁定
LOCK_EX
LOCK_UN 释放锁
LOCK_NB
文件上传
配置php.ini
file_uploads ON支持文件上传
upload_tmp_dir 上传文件临时目录
upload_max_filesize
预定义变量
$_FILES 存放上传文件相关信息
文件上传函数
bool move_upload_file(string file,string destination)
file为$_FILES['XXX']['tmp_name']
多文件上传
php对多文件上传,只需要在表单对应的几个file域用数组命名即可.
如都命名为 jsun[] 这样这几个就会被保存在 $_FILES['jsun']里面了
此时$_FILES['jsun']['name'] 就会是一个array结果返回了.