PHP文件基础操作作业

Original 2019-01-14 16:58:10 231
abstract:<?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


Correcting teacher:查无此人Correction time:2019-01-14 18:07:25
Teacher's summary:完成的不错。有些常用的函数一定要牢记,加油。

Release Notes

Popular Entries