目录操作,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,"