1 文件处理
文件处理包括读取、关闭、重写等。
1.1 打开/关闭文件
打开/关闭文件使用 fopen()函数和 fclose()函数。(千万小心,别误删了文件)
1.打开文件/关闭文件
resource fopen(string filename,string mode[,bool user_include_path]);
mode | 模式名称 | 描述 |
---|---|---|
r | 只读 | |
r+ | 读写 | |
w | 只写(覆盖写入) | |
w+ | 读写 | |
a | 追加 | 追加模式打开文件,如果该文件已有内容,则从文件末尾开始追加内容,如果该文件不存在,会创建文件 |
$fres=fopen(‘testFolder/test1.txt’,‘r’);//以指定模式打开文件
// 对文件进行操作
fclose($fres);//操作完成后关闭文件
1.2 读写文件
1.从文件中读取数据
- fread()函数 按照字符串长度读取文件
$fres=fopen(‘testFolder/test1.txt’,‘r’);
$str=fread($fres,10);
echo $str;
- fgets()函数 按行读取文件
// 打开文件资源
$fres=fopen(‘testFolder/test1.txt’,‘r’);
// echo fgets($fres).’<hr>’;
// echo fgets($fres).’<hr>’;
// echo fgets($fres).’<hr>’;
// echo fgets($fres).’<hr>’;
// echo fgets($fres).’<hr>’;
// echo fgets($fres).’<hr>’;
// echo fgets($fres).’<hr>’;
// echo fgets($fres).’<hr>’;
// echo fgets($fres).’<hr>’;
while($str=fgets($fres)){
echo $str;
}
fclose($fres);
- file() 函数 不需要调用 fopen 函数
$a=file(‘./testFolder/test1.txt’);
// 数组 每行的内容是数组的元素
var_dump($a);
- file_get_contents() 函数 不需要调用 fopen 函数
$a=file_get_contents(‘./testFolder/test1.txt’);
var_dump($a);
2.文件写入
- fwrite();
$resource=fopen(‘./testFolder/test1.txt’,‘w’);
// 写入内容
$res=fwrite($resource,‘湖水库鱼cn饿了阿萨德解放军;啊’);
var_dump($res);
fclose($resource);
- file_put_contents() 覆盖写入
// 最常见的 写入(覆盖写入)
$res=file_put_contents(‘./testFolder/test2.txt’,date(‘y-m-d H:i:s’));
echo $res;
1.3 操作文件
php 除了可以对文件进行读写之外,对文件本身同样也可以进行操作。比如说复制重命名,查看修改日期,等等都可以。
函数 | 说明 | 举例 |
---|---|---|
php bool copy(string path1,string path2) | 将文件从 path1 复制到 path2,成功 true,失败 false | copy(‘test.txt’,’./…/demo/new.txt’) |
php bool rename(string filename1,string filename2) | 把 filename1 重命名为 filename2 | rename(’./1.txt’,’./2.txt’) |
php bool unlink(string filename) | 删除文件,成功 true,失败 false | unlink(‘1.txt’) |
php fileatime(string filename) | 返回文件最后一次被访问的时间 | fileatime(‘1.txt’) |
php array pathinfo(string name[,int options]) | 返回一个数组,包含文件 name 的路径信息,有 dirname,basename,extension,filename,设置要返回的信息,有 PATHINFO_DIRNAME,PATHINFO_BASENAME,PATHINFO_EXTENSION | |
php file_exists(string filename) | 判断文件是否存在 | |
php is_file(string filename) | 判断文件是否存在 |
2.目录处理
2.1 打开/关闭目录
1.打开目录
使用 opendir()函数打开目录
resource opendir(string path);
2.关闭目录
使用 closedir()函数关闭目录
closedir(resource $res);
2.2 浏览目录
1.使用 scandir()函数
array scandir(string directory[,int string_order])
$path=‘./../../02核心技术’;
$res=scandir($path);
echo json_encode($res);
2.readdir() 函数
$resource=opendir(‘./’);
while($res=readdir($resource)){
echo $res.‘<br>’;
}
2.3 操作目录
函数 | 说明 | 举例 |
---|---|---|
bool mkdir(string pathname) | 新建一个指定的目录 | mkdir(‘temp’); |
bool rmdir(string pathname) | 删除所指定的目录,该目录必须是空的 | rmdir(‘temp’); |
string getcwd() | 取得当前工作的目录 | |
bool rename(oldpath,newpath) | 修改目录 | |
fileatime(path) | 返回修改时间 | |
filectime(path) | 返回创建时间 | |
bool is_dir(path) | 判定path是否是目录 | |
bool is_file(path) | 判定path是否是文件 |
2.4 修改目录权限
chmod($pathname,权限);
位数 | 说明 |
---|---|
第一个数字 | 永远不变的 0 |
第二个数字 | 当前用户的权限 |
第三个数字 | admin和当前的用户和用户组使用权限 |
第四个数字 | 表示所有人的使用权限 |
权限分别使用3个值:
值 | 说明 |
---|---|
1 | 执行权限 |
2 | 写入权限 |
4 | 读取权限 |
3. 文件上传
要想去顺利地实现这个上传功能,我们要在php.ini这个文件里面去修改它的配置.
- file_uploads: 如果值为true,说明服务器支持上传,如果为off,则不支持
- upload_tmp_dir:上传文件临时目录,文件被成功上传之前,文件首先存放到临时目录中的。
- upload_max_filesize: 服务器允许上传的文件的最大值,以MB为单位
- max_execution_time:PHP中一个指令所能执行的最长时间,单位 秒
- memory_limit: PHP中一个指令所分配的内存空间。MB
3.1 预定义变量$_FILES
$_FILES变量它存储的是上传文件的相关信息。对于我们去完成上传文件的这个功能提供一些参数信息。
属性名 | 说明 |
---|---|
$_FILES[filename][name] | 上传的文件的 文件名 |
$_FILES[filename][size] | 上传的文件的大小,单位是字节 |
$_FILES[filename][tmp_name] | 文件上传时,首先在临时目录中被保存成一个临时文件 |
$_FILES[filename][type] | 文件的类型 |
$_FILES[filename][error] | 上传文件的结果。如果值为0,上传成功 |
先在a.html 页面完成表单元素的创建,使用元素提供上传文件的入口。
3.2 文件上传函数
move_uploaded_file(string filename,string destinationnpath)函数上传文件存储到指定的位置。
创建upload.php 文件用来处理客户端上传过来的文件的信息,包括文件的存储。
评论
本文评论功能已关闭。