摘要:<?php /*文件信息相关的函数 filetype() 获取文件类型,传入的是文件路径 filesize() 获取文件大小 传入的是文件路径 date_default_timezone_set('Asia/shanghai'); 设置时区 filectime() 获取文件创建时间,格式化时间 
<?php
/*文件信息相关的函数
filetype() 获取文件类型,传入的是文件路径
filesize() 获取文件大小 传入的是文件路径
date_default_timezone_set('Asia/shanghai'); 设置时区
filectime() 获取文件创建时间,格式化时间 date('Y-m-d',filectime($filename));
filemtime() 获取文件修改时间
fileatime() 获取文件最后访问的时间
is_readable() 查询文件权限,判断文件是否可读,返回布尔值
is_writable() 检查文件可写性
is_executable() 检查文件的可执行性
*/
date_default_timezone_set('Asia/shanghai');
$filename = 'text.txt';
//获取文件类型
echo filetype($filename),'<br>';
//获取文件大小
echo filesize($filename).'<br>';
//获取文件创建时间
echo '文件创建时间为:',date('Y-m-d H:i:s',filectime($filename)).'<br>';
//获取文件修改时间
echo '文件修改时间为:'.date('Y-m-d H:i:s',filemtime($filename)).'<br>';
//获取文件最后访问时间
echo '文件最后访问时间为:'.date('Y-m-d H:i:s',fileatime($filename)).'<br>';
//检查文件是否可读
var_dump(is_readable($filename));
//检查文件是否可写
var_dump(is_writable($filename));
//检查文件是否可执行
var_dump(is_executable($filename));
echo '<hr>';
/**
* 文件路径相关的文件
*
*/
//返回文件路径信息
echo '<pre>';
var_dump(pathinfo($filename));
echo '</pre>';
// 给pathinfo加上第二个参数PATHINFO_DIRNAME就可以获取文件的目录部分
echo pathinfo($filename,PATHINFO_DIRNAME).'<br>';
//dirname() 直接获取文件目录部分
echo dirname($filename).'<br>';
//给pathinfo加上第二个参数PATHINFO_BASENAME 可以获取文件名称,这个包含文件后缀名
echo pathinfo($filename,PATHINFO_BASENAME).'<br>';
//basename() 直接获取文件名,含文件后缀名
echo basename($filename).'<br>';
//第二个参数加PATHINFO_EXTENSION 获取文件后缀名
echo pathinfo($filename,PATHINFO_EXTENSION)."<BR>";
//第二个参数加PATHINFO_FILENAME 获取文件名,不含后缀名
echo pathinfo($filename,PATHINFO_FILENAME).'<BR>';
//检查文件是否存在
if(true==file_exists($filename)){
echo '存在';
}else{
echo '不存在';
}
echo '<hr>';
/**
* 文件操作相关的函数
*
*/
//创建文件,还可以修改文件的访问时间和修改时间
//echo touch('text1.txt');
//if (file_exists('text1.txt')){
// if (unlink('text1.txt')){
// echo '删除成功';
// }else{
// echo '删除失败';
// }
//}else{
// echo '文件不存在';
//}
//rename 修改文件名或剪切文件
//var_dump(rename('text1.txt','demo/text2.txt'));
//copy 复制文件 也能改名称 还可以拷贝远程的文件或图片
//var_dump(copy('text.txt','demo/text1.txt'));
//var_dump(copy('http://img.php.cn/upload/course/000/000/014/5c304ba1aa085936.jpg','123.jpg'));
echo '<hr>';
/**
* 文件内容相关函数
*/
//打开文件 二进制打开
$file = fopen('text.txt','rb');
//fread 读取文件内容
echo fread($file,filesize('text.txt'));<?php
/*
文件路径相关函数
pathinfo() 返回文件路径信息,返回的是一个数组
pathinfo() 第二个参数PATHINFO_DIRNAME 是一个常量 返回文件目录部分,第二个参数PATHINFO_BASENAME 获取文件名(文件名包括后缀),第二个参数PATHINFO_EXTENSION 获取文件后缀名,第二个参数PATHINFO_FILENAME 获取文件名(去掉后缀的文件名),
dirname() 可以直接获取文件的目录部分
basename() 可以直接获取文件名
file_exists() 检查目录或文件是否存在
*/
//打开文件,rb+ 表示二进制读取写入
//$file = fopen('text.txt','rb+');
//
////写入文件 fwrite 写入文件操作时 会覆盖对应字符数量
//
//var_dump(fwrite($file,'PHP中文网'));
//var_dump(fwrite($file,''.PHP_EOL));//换行
//
////fputs 和fwrite的功能是一样的
//var_dump(fputs($file,'我们说好的。'));
//
//fclose($file);
$file = fopen('text.txt','ab+');
var_dump(fputs($file,'我用写入方式,不清空内容.'));
echo ftell($file);
rewind($file);
echo fread($file,filesize('text.txt'));<?php
/**
* 文件读取其他函数
* fgetc() 从文件中获取一个字符
* fgets() 从文件中获取一行字符
* fgetss() 从文件中获取一行字符,并过滤html
*
*/
$file = fopen('text.txt','rb+');
echo fgetc($file).'<br>'; //获取一个字符
echo fgets($file).'<br>'; //获取一行
echo fgetss($file).'<br>'; //获取一行并过滤html
rewind($file);
while(!feof($file)){
echo fgetc($file);
}
echo '<hr>';
//ftruncate 截取文件内容为指定长度,会改变文件大小,返回的是一个布尔值
var_dump(ftruncate($file,10));<?php
/**
* csv格式文件函数
* fgetcsv(文件路径,长度,字段分隔符) 读取csv文件内容,长度必须大于 CVS 文件内最长的一行。输出的是一个数组
* fputcsv 写入csv文件内容
*/
$file = fopen('text.csv','rb+');
//读取csv文件
//var_dump(fgetcsv($file));
echo '<pre>';
//while ($row=fgetcsv($file)){
// print_r($row);
//}
$data = [
[1,'html','略懂'],
[2,'js','不懂'],
[3,'php','正在学']
];
//写入csv文件
//var_dump(fputcsv($file,$data));
//
//遍历数组写入
//foreach ($data as $v){
// fputcsv($file,$v,'~');
//}
while ($row = fgetcsv($file,18,'~')){
print_r($row);
}<?php
/**
* 文件内容相关其他函数
* file_get_contents() 获取文件内容,不用打开文件 不能过滤html
* file_put_contents() 写入文件内容,不用打开文件 文件存在会清空文件内容再写入,文件不存在则自动创建,若要追加数据而不覆盖原内容,需要传入第三个参数FILE_APPEND
* strip_tags() 过滤html
*/
//echo file_get_contents('text2.txt');//读取文件内容
//file_put_contents('text2.txt','php中文网',FILE_APPEND); //追加写入
$data = [
'name'=>'韦小宝',
'age'=>'23'
];
//var_dump(file_put_contents('text.txt',serialize($data))); //使用序列化来进转换数组 然后写入
//var_dump(unserialize(file_get_contents('text.txt'))); //反序列化,将序列化的代码转换为之前的样子
//file_put_contents('text2.txt',json_encode($data)); //将数组转换为json格式并写入到文件
var_dump(json_decode(file_get_contents('text2.txt'))); //json_decode 将json格式的文件反转换
echo '<hr>';
/**
* 常用目录相关的函数
*/
//打开目录
$dir = opendir('demo');
//遍历输出目录下的文件
while($row = readdir($dir)){
if($row != '.' && $row != '..'){
echo $row.'<br>';
}
}
//rmdir('text'); //删除目录text
//mkdir('text/txt2',0777,true);//嵌套创建文件夹
//unlink('text/txt2/11.txt');// 删除目录前要先删除目录下的文件
rmdir('text/txt2');//删除目录txt2
批改老师:查无此人批改时间:2019-01-14 18:07:25
老师总结:完成的不错。有些常用的函数一定要牢记,加油。