6.20 php文件操作函数

这篇文章介绍了如何在PHP中使用函数如filetype、filesize、filectime、filemtime和fileatime来获取文件信息。它还涵盖了日期时区设置,以及文件的读写、重命名、删除、复制和移动操作。此外,提到了fopen、fread等用于文件读取的方法,以及fwrite用于写入文件的内容。
摘要由CSDN通过智能技术生成

filetype  判断文件类型

filesize  判断文件大小 默认单位是字节

filectime创建时间  以时间戳展示

filemtime修改时间

fileatime最后访问时间

加上data函数

 才展现年月日格式

 

 时间对不上号,时区问题:

<?php 
date_default_timezone_set('Asia/Shanghai');
$file_name='1.html';
print_r(date('Y年m月d日 H:i:s',filectime($file_name)));
echo '<br>';
print_r(date('Y年m月d日 H:i:s',filemtime($file_name)));
echo '<br>';
print_r(date('Y年m月d日 H:i:s',fileatime($file_name)));
?>

 判断文件是否可读可写可执行:判断值输出布尔值

 判断文件是否存在:以布尔值作为输出判断值

 

输出文件路径信息:以数组形式展现

print_r(pathinfo($file_name,PATHINFO_EXTENSION));
echo '<hr>';
print_r(pathinfo($file_name,PATHINFO_FILENAME));
echo '<hr>';
print_r(pathinfo($file_name,PATHINFO_DIRNAME));
echo '<hr>';
print_r(pathinfo($file_name,PATHINFO_BASENAME));

 指定只展现扩展名

只展现文件名:

只展现目录:

方式2:

检测文件或目录存不存在:

 

如果文件不存在,就创建空文件

 $file_name='123.html';
 if(file_exists($file_name)){

    echo '这个文件已经存在';
 }
else{

    touch($file_name);
}

 

 

 将变量置空,注销变量 :unset

相当于

删除文件:

unlink($file_name);

 

案例:

<?php 
$filename = '1.html';
if(file_exists($filename)){

    if(unlink($filename))
    {
       echo '文件删除成功';
    }
}else{

    echo '没有任何文件可被删除';
}
?>

 重命名:前提 文件存在

header('content-type:text/html;charset=utf-8');
 

$filename='123.html';
$newname='world.txt';
if(rename($filename,$newname)){

 echo '重命名成功';


}else{

 echo '重命名失败';
}

优化后:

$filename='world.txt';
if(file_exists($filename)){
   if(rename($filename,'haha.txt')){

    echo '重命名成功';
}else{
    echo '重命名失败';
}
}else{
    echo '要重命名的文件不存在';
}
 

 文件剪切:

$filename='123.txt';
$path='../test123.txt';
if(file_exists($filename)){
   if(rename($filename,$path)){

      echo '文件剪切成功';
}else{
      echo '文件剪切失败';
}
}else{
      echo '文件不存在';
}

复制:

$source='hello.php';
$dest='helloworld.php';

copy($source,$dest); //文件复制操作

if(copy($source,$dest)){
  echo '文件拷贝成功';
}else{
  echo '文件拷贝失败';  
}

远程复制:前提开启功能

var_dump(copy('http://picture.ik123.com/uploads/allimg/150331/17-150331135R2.jpg','./xiaogou.jpg'))

打开文件操作:

fopen  添加参数指定以什么方式打开文件

 读取文件:

读取10个字符:

    $filename='./hello.txt';
    $handle=fopen($filename,'r'); 
    print_r(fread($handle,filesize($filename)));

打开读取远程文件

    $file = fopen("./hello.txt", "r");
 
// 输出文件的每一行直到文件结尾
while(! feof($file))
{
    echo fgets($file). "<br />";
}
 
fclose($file);
 

判断指针位置:

判断是否读完:

按行读取:

非空:

按字符读:

重置指针,将指针放到开头fseek

指定回到那个位置

 $filename='./hello.txt';
    $handle=fopen($filename,'r'); 
    print_r(fread($handle,filesize($filename)));
    
    echo ftell($handle),'<br>';

    fseek($handle,0);

    echo ftell($handle),'<br>';

案例:读取图片:

  header('content-type:image/jpeg;charset=utf-8');
   $file_name='./xiaogou.jpg';
   $handle=fopen($file_name,'rb+');//b代表以二进制方式打开文件
   $res=fread($handle,filesize($file_name));
   print_r($res);

 向文件写内容:

文件名2.txt

rb+读取内容

使用fwrite函数写入内容,写入内容会覆盖前面的内容

写入一句话木马生成到2.txt:

 生成2.php

使用蚂蚁剑连接

重置指针 rewind()

从文件头截取字符

定义变量,使用函数调文件名当作一个字符串

不再是资源类型,而是字符型

 

使用函数读取网址:

 将数据写入文件:在php5,7,8才可以使用

$file = '2.txt';
// 打开文件获取已经存在的内容
$current = file_get_contents($file);
// 追加新成员到文件
$current .= "John Smith\r";
// 将内容写回文件
file_put_contents($file, $current);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值