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);