PHP_文件编程
目录操作
-
创建文件夹
bool mkdir(url)
- $res = @mkdir('./dirfile');
-
删除文件夹
bool rmdir(url)
- $rm_res = @rmdir('./dirfile');
-
读取目录
opendir(url) 返回一个路径资源 //url不能是文件
readdir() 从资源中读取(返回)一个文件(夹)名字后,指针后移 -
关闭目录
closedir() 关闭资源
-
其他
| dirname(url) //url可以是文件 | 返回上一级目录 |
| realpath(url) //url只能是目录,如果是文件返回false | 返回一个原路径 |
| is_dir(url) | |
| scandir(url) | 获取指定路径下的所有文件信息,已数组形式返回 |
| is_file(url) | |
| dirname() | |
| basename() | 获取文件名 |
文件操作
| file_get_contents(文件路径) | 读取文件内容 |
| file_put_coontents(文件路径,内容) | 向指定的文件写入内容 |
| fopen() | |
| fread() | |
| fwrite() | |
| fclose() | |
| filesize() | |
| file_exists() | 判断文件是否存在 |
| unlink() | 删除文件 |
| filemtime() | 获取文件最后一次了修改的时间 |
| fseek() | 设定fopen打开文件的指针位置 |
| fgetc() | 一次获取一个字符 |
header的用法
跳转页面
header('Location:'.$url); //Location和":"之间无空格。
声明Content-type
header('content-type:text/html;charset=utf-8');
返回response状态码
header('HTTP/1.1 404 Not Found');
延迟跳转
header('Refresh: 3; url=http://www.baidu.com/'); //3s后跳转。
执行下载操作
header('Content-Type: application/octet-stream'); //设置内容类型
header('Content-Disposition: attachment; filename="example.zip"'); //设置MIME用户作为附件
header('Content-Transfer-Encoding: binary'); //设置传输方式
header('Content-Length: '.filesize('example.zip')); //设置内容长度
function unloading($file){
//下载相应头声明
header( "Content-type:application/octem-stream" );
//以字节方式传递
header( "Accept-ranges:bytes" );
//下载,设置文件名字
header( "Content-disposition:attachment;filename=".basename($file));
}
文件遍历函数封装
function sfa($url=null){
if(empty($url)) return false;
if( is_dir($url) ) {
$res = opendir($url);
while( $file = readdir($res) ){
if($file!='.'&&$file!='..'){
$url2 = $url."/".$file;
if(is_file($url2)) echo $file , "<br>";
else sfa($url2);
}
}
}else{
echo basename($url) ,"<br>";
}
}

浙公网安备 33010602011771号