一.文件类型
1.php3种:file,dir,unknow;
2.linux7中:block(块文件,如磁盘),char(字符设备,如键盘),dir(目录),fifo(
命名管道),file(普通文件),link(符号链接,如快捷方式),unkonw(位置类型)
3.基本函数:
is_dir(),is_executable(),is_file(),is_link(),is_readable(),is_writable()
file_exists(),filesize(),filectime(),filemtime(),fileatime(),stat()
二.目录的基本操作
1.basename();//获取路径中文件名部分;
dirname();//获取目录部分
pathinfo();//路径信息,目录,文件,后缀
realpath();//返回规范化绝对路径。
2.遍历目录:
opendir(打开句柄)->readdir(获取文件名)->closedir(关闭句柄)-rewiddir(倒
回句柄)
disk_free_space//返回可用空间
disk_total_space//返回总的空间
1.mkdir()//建立目录
rmdir()//删除目录,该目录必须是空的
unlink()//删除文件
2.代码:
1.copy()//拷贝文件
1.php3种:file,dir,unknow;
2.linux7中:block(块文件,如磁盘),char(字符设备,如键盘),dir(目录),fifo(
命名管道),file(普通文件),link(符号链接,如快捷方式),unkonw(位置类型)
3.基本函数:
is_dir(),is_executable(),is_file(),is_link(),is_readable(),is_writable()
file_exists(),filesize(),filectime(),filemtime(),fileatime(),stat()
二.目录的基本操作
1.basename();//获取路径中文件名部分;
dirname();//获取目录部分
pathinfo();//路径信息,目录,文件,后缀
realpath();//返回规范化绝对路径。
2.遍历目录:
opendir(打开句柄)->readdir(获取文件名)->closedir(关闭句柄)-rewiddir(倒
回句柄)
disk_free_space//返回可用空间
disk_total_space//返回总的空间
3.代码:
<?php
header("Content-Type:text/html;charset=utf8");
function dirSize($directory)
{
$dir_size=0;
if($file_handle=opendir($directory))
{
while($filename=readdir($file_handle))
{
if($filename!="." && $filename!="..")
{
$subFile=$directory."/".$filename;
if(is_dir($subFile))
{
$dir_size+=dirSize($subFile);
}
if(is_file($subFile))
{
$dir_size+=filesize($subFile);
}
}
}
closedir($file_handle);
return $dir_size;
}
}
$path=$_SERVER["DOCUMENT_ROOT"]."test";
echo round(dirSize($path)/1024,2)."KB";
?>
三.建立与删除目录
1.mkdir()//建立目录
rmdir()//删除目录,该目录必须是空的
unlink()//删除文件
2.代码:
<?php
header("Content-Type:text/html;charset=utf8");
$path=$_SERVER["DOCUMENT_ROOT"]."delfile";
function delDir($directory)
{
if(file_exists($directory))
{
if($dir_handle=opendir($directory))
{
while($filename=readdir($dir_handle))
{
if($filename!="." && $filename!="..")
{
$subFile=$directory."/".$filename;
if(is_dir($subFile))
{
delDir($subFile);
}
if(is_file($subFile))
{
unlink($subFile);
echo "file:".$subFile."<br>";
}
}
}
closedir($dir_handle);
rmdir($directory);
echo "dir".$directory."<br>";
}
}
}
delDir($path);
?>
1.copy()//拷贝文件
五.文件的基本操作
1.fopen()
fclose()
fwrite()
fread()
fgets()//读取一行
fgetc()//读取一个字符
六.文件的上传与下载
enctype="multipart/form-data"
上传:前面博客已经谢过了
下载:
<?php
$filename=$_SERVER["DOCUMENT_ROOT"]."test/hahah.xlsx";
$basename=pathinfo($filename);
header("Content-Type:image/jpeg");
header("Content-Disposition:attachment;filename=".$basename["basename"]);
header("Content-Length:".filesize($filename));
readfile($filename);
?>