PHP 文件操作以及系统操作

<?php
header("content-type:text/html;charset=utf-8");
    //文件路劲有关的四个函数  

  //文件目录的绝对路径

$path = "./30.php";
echo   __DIR__;//E:\WAMP\apache2\htdocs\php
//1文件名
echo basename($path)."<br>";//30.php 加可选参数.php 时输出 名字  没后缀
echo basename($path,".php");//30
//2路径目录
echo dirname($path); // .
//3有关路径的综合
$info =  pathinfo($path);
var_dump($info);
//4 返回绝对路径
echo realpath($path);//E:\WAMP\apache2\htdocs\php\30.php
//计算文件目录 磁盘等属性
//1 文件大小
echo filesize($path);//187  单位字节
//2 磁盘可用空间 
echo disk_free_space("E:"); //61652082688 字节
//3 磁盘总空间
echo disk_total_space("E:");
//4 获取目录大小
function  getDirSize($dirname){
    $totalfilesize = 0;
  $dirh = opendir($dirname);//抑制文件错误输出  即使打开失败也不会返回错误
    if ($dirh) {
        while ( ($dirElement = readdir($dirh)) ) {
            $brandir = $dirname."/".$dirElement;
            if(is_file($brandir)){
                $totalfilesize += filesize($brandir);
            }
            if( is_dir($brandir )){
              //  $totalfilesize += getDirSize($brandir);
            }
        } 
    }
    @closedir($dirh);
      return $totalfilesize;
}
// echo    "--------"."<br>".getDirSize("E:\C++\ConsoleApplication16\ipch");
   
//文件修改时间 以及访问时间  //返回的为时间戳
 //1  文件最后的访问时间
 echo fileatime($path);  
 //2 文件的 最后改变时间  包括权限等
 echo filectime($path);
 //3 文件 文本的修改时间
 echo filemtime($path);
 $path= "./05_p.txt";
 //文件操作
 //1 文件读取
 echo "<br>".$path;
 
function getFileContent (){
    global $path;//取外部的$path
    $handle = @fopen($path,'r');//无法打开php文件  只能打开特定文件  r r+ w(写前会删除内容) w+(写前删除) a(追加模式 只能写 a+(读写 追加)
    while( !feof($handle) ){//feof  为 EOF代表文文件末尾
      //  echo  fgets($handle); //每次取一行   
        //echo fgetc($handle);//每次去1 个字符
        echo fread($handle,'1024');//每次取1024个字节
    }
        fclose($handle); 
 }
getFileContent();
//2远程的打开
$handle = fopen("http://www.phtstudy.xin", "r");
echo  fgets($handle,"1024");
//3以数组的方式放回数据
$arr = file($path);//每次输出一行
var_dump($arr);
//4fgetcsv  得到csv数据  既可以输 excel access mysql 文件等
function getexcel(){
    $handle = fopen("./01.csv", "r");
    $arr  = fgetcsv($handle);
    $arr= array_slice($arr, 0, 2);
    var_dump($arr);
 call_user_func_array(function ( $arr1,$arr2 ) {
    echo  iconv("GBK","UTF-8",$arr1).$arr2; // 设计乱码问题
    },$arr);
}
getexcel();
//5解析 文本fscanf
function scanfFile()
{
    $handle = fopen("./file1.txt", "r");
    while(($scan = fscanf($handle, "%d-%d-%d") )){
        var_dump($scan);
    }
    fclose($handle);
}

scanfFile();
//6 取出所有文件
$allfile = readfile($path);//取出所有内容
//文件目录的操作
$dir  = opendir('e:');
while( ($file = readdir($dir)) ){
    echo iconv("GBK","UTF-8",$file)."<br>";
    
}
closedir($dir);

//删除文件  unlink() 删除目录rmdir()  重命名文件rename() 


//passthru($command) 用于系统而进制返回数据  例如图片等
//php  常用的两个调用操作系统的两个函数

$exec = exec("dir",$result); //第一个参数也可以传递脚本文件
var_dump($exec); //返回文件大小要想返回文件结果  要加个参数
var_dump($result);//执行结果
$res =  system(" dir",$result);  //直接返回结果
 //$res = mb_convert_encoding($res, "UTF8");
 $res =iconv("gbk","utf-8", $res );
echo $res;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值