文档库 最新最全的文档下载
当前位置:文档库 › 文件处理65—73课

文件处理65—73课

目录操作,65—73课

65课

.代表当前目录,..代表上一级目录,../..爷爷级目录,以后类推

disk_total_space 获得当前磁盘总空间(以字节显示可以)

disk_free_space 获得磁盘已用空间

basename 返回路径中的文件名部分(第二个参数为舍去部分)

dirname 得到路径中的目录部分,可以多次嵌套

file_exists 判断文件或目录是否存在

filetype 检测文件类型dir file

pow 求次幂如2的2次幂等于4写成pow(2,2)

round 四舍五入,第二个参数为保留位数

*/

//获得当前文件名实例(可用basename替代)

echo trim(strrchr(__FILE__,DIRECTORY_SEPARATOR),DIRECTORY_SEPARATOR); 等同于(在linux中DIRECTORY_SEPARATOR会自动换成/):

echo trim(strrchr(__FILE__,'\\'),'\\');

/*$totalSpace = round(disk_total_space('.')/pow(1024,3),2);

$freeSpace = round(disk_free_space('/')/pow(1024,3),2);

echo "已用空间:".($totalSpace-$freeSpace);*/

/*echo __FILE__."
";

echo basename(__FILE__,'.php');*/

/*echo substr(__FILE__, 0,strpos(__FILE__, basename(__FILE__))-1);*/

/*echo dirname(dirname(dirname(__FILE__)));*/

/*if(!file_exists('config.php')){

die("配置文件config.php不存在,程序无法运行,请到官方得到技术支持");

}*/

/*if(file_exists('uploads')){

echo "uploads目录存在,可以上传内容";

}else{

echo "上传目录不存,无法保存图片";

}

*/

echo filetype("60");

66课

is_dir 判断是否为一个目录

mkdir 创建目录,第1个参数指定目录名,第2个参数目录权限,第3个参数为TRUE 则递归创建

getcwd 获得当前操作目录

chdir 更改当前操作目录

rmdir 删除目录

*/

/*$dir = array("image","html","cache","js");

array_map(mkdir, $dir);*/ //利用array_map批量创建目录

//mkdir("template/default/image/1/2/3/4/5",0777,true);

/*$dirName = "uploads/".date('ymd',time());

if(!file_exists($dirName)){

mkdir($dirName);

}

*/

/*echo getcwd();

chdir('60/admin');

$webArr = include 'b.php';

print_r($webArr);

sleep(10); //延缓10秒

mkdir('cccccccc');*/

if (file_exists ( 'uploads' )) {

rmdir ( 'uploads' );

echo "";

}

67课

rename 改变文件夹或者文件的名称

scandir 显示文件夹内的所有内容,返回为数组,包括. 与..

*/

/*var_dump(rename('1.php', 'aaaaaaaaaaaaaaaaa.phpppppppppppppppppppppppp'));*/

/*$dirArr = scandir('.');

echo "

";

print_r($dirArr);*/

$dir = scandir ( '.' );

/*foreach ( $dir as $v ) {

$base = strrchr ( $v, '.' );

if ($v !== '.') {

if ($v == '..') {

$v = '上级目录';

}

if (is_dir ( $v )) {

$type = "dir";

} elseif ($base == '.jpg' || $base == '.gif' || $base == '.bmp' || $base == '.png' || $base == '.jpeg') {

$type = 'jpg';

} elseif ($base == '.rar' || $base == '.zip' || $base == '.7z') {

$type = 'rar';

} elseif ($base == '.swf' || $base == '.avi' || $base == '.flv' || $base == '.wmv') {

$type = 'swf';

} else {

$type = 'text';

}

echo " {$v}
";

}

}

*/

/*$basename = "sdfsd.fds.jpg";

echo strrchr($basename, '.');*/

/*function scand($dir) {

static $i = 0;

static $d = 0;

$dirInfo = scandir ( $dir );

foreach ( $dirInfo as $v ) {

if ($v != '.' && $v != '..') {

$dirname = $dir . '\\' . $v;

echo $dirname . "
";

if (is_dir ( $dirname )) {

$count ['dir'] = ++ $d;

scand ( $dirname );

} else {

$count ['file'] = ++ $i;

}

}

}

return $count;

}

$count = scand ( '.' );

print_r ( $count );

echo "

一共有文件{$count['file']}个,文件夹{$count['dir']}个

";*/

68课

glob 以数组形式返回,参数1这个目录的所有内容,可以指定返回的具体类型(以路径形式返回,没有.和..)

rewinddir 返回目录指针到开头

opendir 打开一个目录,返回链接句柄

readdir 读取当前指值所指内容,同时指针下移,如果到结果,返回FALSE

*/

/*$dirArr = glob('./*.wmv');

echo "

";

print_r($dirArr);*/

/*function globDir($dirname,$type=''){

if($type==''){

$dirInfo = glob($dirname.'/*');

}else{

$dirInfo = glob($dirname.'/*.'.$type);

}

return $dirInfo;

}

$info = globDir('.','php');

print_r($info);

*/

/*function globDir($dirname,$type=''){

if($type==''){

$dirInfo = glob($dirname.'/*');

}else{

$dirInfo = glob($dirname.'/*.'.$type);

}

foreach ($dirInfo as $v){

echo $v."
";

if(is_dir($v)){

globDir($v);

}

}

}

globDir('.');*/

/*$dir = @opendir('a');

while ($file = readdir($dir)){

echo $file."
";

}

closedir($dir);

rmdir('a');*/

$dir = opendir('a');

while(($file = readdir($dir))!=FALSE){

echo $file."
";

}

echo "
====================
";

rewinddir($dir);

while(($file = readdir($dir))!=FALSE){

echo $file."
";

}

69课

filesize 得到文件大小,返因单位为字节

unlink 删除文件

*/

/*echo "

";

print_r(get_declared_classes());*/

/*$dir =dir('.');

while(($file = $dir->read())!==FALSE){

echo $file."
";

}

$dir->close();

$dir->rewind();

echo "
===========================
";

while(($file = $dir->read())!==FALSE){

echo $file."
";

}*/

//echo filesize('60/a.txt')/1024;

/*sleep(6);

unlink('60/1.php');*/

/*sleep(5);

array_map(unlink, glob('60\*.*'));*/ 通过一条语句删除所有文件,

/*function dirSize($dirname) {

$dir = opendir ( $dirname );

while ( ($file = readdir ( $dir )) !== FALSE ) {

$filename = $dirname . '\\' . $file;

if ($file != '.' && $file != '..') {

if (is_dir ( $file )) {

$count += dirSize ( $file );

} else {

$count += filesize ( $filename );

}

}

}

return $count;

}

echo dirSize ( '.' ) / pow(1024,2);*/

/*function dirSize_glob($dirname){

$dirInfo = glob("{$dirname}\*");

foreach ($dirInfo as $v){

if(is_dir($v)){

$count +=dirSize_glob($v);

}else{

$count +=filesize($v);

}

}

return $count;

}

echo dirSize_glob('.')/pow(1024,2);*/

/*function dirSize_scandir($dirname){

$dirArr = scandir($dirname);

foreach ($dirArr as $v){

$fileName = $dirname.'\\'.$v;

if($v!='.' && $v!='..'){

if(is_dir($fileName)){

$count +=dirSize_scandir($fileName);

}else{

$count+=filesize($fileName);

}

}

}

return $count;

}

echo dirSize_scandir('.')/pow(1024,2);*/

70课

/*后盾网https://www.wendangku.net/doc/7a7949945.html, 2011-3-31 下午03:24:15

*/

/*$dir = opendir('b');

while ($file = readdir($dir)){

if($file !='.' && $file !='..'){

unlink('b\\'.$file);

}

}

closedir($dir);

rmdir('b');

*/

/*$dirArr = glob('a\*');

array_map(unlink,$dirArr);

rmdir('a');*/

/*function delDir($dirname){

$dir = opendir($dirname);

while ($file = readdir($dir)){

$filename=$dirname.'\\'.$file;

if($file !='.' && $file !='..'){

if(is_dir($filename)){

delDir($filename);

}elseif(is_file($filename)){

unlink($filename);

}

}

}

closedir($dir);

rmdir($dirname);

}

delDir('222111');*/

/*function delDirGlob($dirname){

$dirArr =glob($dirname.'\*');

foreach ($dirArr as $v){

if(is_dir($v)){

delDirGlob($v);

}elseif(is_file($v)){

unlink($v);

}

}

rmdir($dirname);

}

delDirGlob('ggg');*/

/*function delFile($dirname,$fileType){

$dir = opendir($dirname);

while (($file=readdir($dir))!=FALSE){

$filename= $dirname.'\\'.$file;

if($file !='..' && $file !='.'){

if(is_dir($filename)){

delFile($filename, $fileType);

}

if(!is_array($fileType)){

$Type[]=$fileType;

}else{

$Type=$fileType;

}

if(is_file($filename) && in_array(strrchr($file, '.'),$Type)){

unlink($filename);

}

}

}

}

delFile('c',array('.php','.7z'));*/

71课

is_executable 判断一个文件是否是可执行文件返回BOOL类型

is_readable 判断文件是否可读返回BOOL型

is_writeable 判断文件是否可写返回bool型

is_writable 判断文件是否可写返回bool型

*/

/*if(is_executable('bb.exe')!=FALSE){

echo "这个文件是一个可执行文件 他的大小是".round(filesize('bb.exe')/pow(1024, 2),2).'MB';

}*/

//is_string($var) is_numeric($var) is_array($var) is_bool is_file($filename)

/*if(is_file(dirname(__FILE__))){

echo __FILE__."是一个文件";

}else{

echo "不是一个文件";

}*/

/*if(is_file('dskflkfdshh.txt')==FALSE) echo "不是文件";*/

/*if(file_exists('60'))echo "文件存在";*/

/*if(is_readable('a.txt')){

echo "文件可读";

}else{

echo "文件不可读";

}*/

/*if(is_writable('48.php')){

echo "可以写入内容到48.PHP";

}else{

echo "不可以写入内容";

}

*/

/*$a= fopen('a.txt', 'r');

$b = fopen('b.txt','r');

echo fread($b, 10);

echo "
";

echo fread($b, 10000);

fclose($b);*/

$a = fopen('a.txt','r+');

fwrite($a, '12345678'); //改写的方式

fclose($a);

72课

w和w+,:如果文件存在,将清空文件,然后指针移到开头,不存在新建一个文件,指针移到开头

/*$a = fopen('a.txt', 'r+');

fwrite($a, '1111');

echo fread($a, filesize('a.txt'));

fclose($a);*/

//sleep(4);

/*$a = fopen('a.txt', 'w+');

fwrite($a,"后盾网");

rewind($a); //文件指针移到开头

echo fread($a,filesize('a.txt'));

fclose($a);*/

/*$a = fopen('a.txt', 'a'); //a模式:不会清空内容,文件存在指针移到文件末尾,可以写入fwrite($a, 'https://www.wendangku.net/doc/7a7949945.html,');*/

/*$a = fopen('a.txt','a+'); //a+模式:读写

//x模式,文件存在则提示存在,不存在则创建,指针移到开头

fwrite($a,'tttttttttttttttttttttttt');

rewind($a);

echo fread($a,filesize('a.txt'));*/

/*$a = @fopen('a33333333333333333.txt', 'x+') or die('文件已经存在');

fwrite($a,'https://www.wendangku.net/doc/7a7949945.html,免费视频教程下载,结合实战');

rewind($a);

echo fread($a, 100);*/

/*$baidu = fopen('https://www.wendangku.net/doc/7a7949945.html,', 'r');

while($row = fgets($baidu)){

echo $row;

}*/

/*$logo = fopen('logo.png', 'rb'); //读取二进制文件最好加上b标记提高兼容性

header("Content-type:image/png");

echo fread($logo,filesize('logo.png'));*/

/*$a = fopen('a.txt', 'wt'); t可以让一些纯文本编辑器看到换行,不加的话网页中有换行,而记事本打开没有

fwrite($a, "后盾网\https://www.wendangku.net/doc/7a7949945.html,");*/

73课

fgetc 传入文件操作句柄获得字符一次一个字节

fgets 传入文件操作句柄每次获得一行内容第一个参数是:文件操作句柄第二个参数:行在大小,默认1024字节

fgetss 每次读取一行内容,过滤掉HTML PHP标签,第3个参数指定保留的标签file_get_contents 一次性读取文件内容

file_put_contents 一次性写入文件内容

*/

/*$file = fopen('houdunwang.txt','r');*/

/*echo fgetc($file)."
";

echo fgetc($file)."
";

echo fgetc($file)."
";

echo fgetc($file)."
";

echo fgetc($file)."
";*/

/*

while(!feof($file)){ feof为判断指针是否到结尾,

echo fgets($file)."
";

}

*/

/*fclose($file);

$houdunwangFile = fopen("houdunwang.php", 'r');

//$contents = fread($houdunwangFile,filesize('houdunwang.htm'));

while(!feof($houdunwangFile)){

echo fgetss($houdunwangFile,1024,"