牛骨文教育服务平台(让学习变的简单)
博文笔记

PHP-文件与目录操作

创建时间:2017-02-15 投稿人: 浏览次数:737

以下是在wamp环境下PHP的文件和目录操作总结>>

<?php


/*

文件操作

   fopen(文件地址,模式) 打开文件或url http
   模式
      r 只读模式,文件指针指向头部,如果文件不存在报错
      r+ 读写模式,文件指针指向头部,如果文件不存在报错
      w 只写模式,文件指针指向头部,清空文件内容,如果文件不存在,则创建文件
      w+ 读写模式,文件指针指向头部,清空文件内容,如果文件不存在,则创建文件
      a 只写模式,文件指针指向尾部,如果文件不存在,则创建文件
      a+ 读写模式,文件指针指向尾部,如果文件不存在,则创建文件

   fgetc  从资源中读取一个字节字符
   fgets  从资源中读取一行字符
   fgetss 从资源中读取一行字符, 会过滤掉html标签
   fread  从资源中读取指定字节长度字符
   fwrite 往资源中写数据
   rewind 把文件指针移到头部
   fclose 


   readfile 读取文件内容 
   fpassthru 从当前指针所在位置开始读,读到文件尾部

   file 把文件内容读到一个数组中,每一行数据就是数组的每一个元素

   file_get_contents 把文件内容读到一个字符中
   file_put_contents 把字符串写到一个文件中 

   unlink  删除文件
   copy 复制文件
   rename 重命名文件 剪切文件

   ftell 返回当前文件指针所在位置
   feof 检测文件是否到末尾
   fseek 移动文件指针
   flock 锁文件

 */

$resData = @fopen("test.txt", "a+") or die("文件不存在");
var_dump(fgetc($resData));
echo fread($resData, 3);
while($strData=fgets($resData)){
    echo $strData."<br/>";
}

fwrite($resData, "abc");
rewind($resData);
echo fgets($resData);
fwrite($resData, "abc");
rewind($resData);
echo fgets($resData);



$resData = @fopen("http://www.huanqiu.com/", "r") or die("文件不存在");
$strDatax="";
while($strData=fgets($resData)){
    $strDatax.=$strData;
}
preg_match("/<div id="block_id_42876" class="admin_block" blockid="42876">[sS]+?</div>/", $strDatax,$arr);
preg_match_all("/<h4>[sS]+?</h4>/", $arr[0], $arrx);
foreach ($arrx[0] as $key => $value) {
    echo $value;
}
fclose($resData);

$resData = @fopen("test.txt", "a+") or die("文件不存在");
while($strData=fgets($resData)){
    echo htmlspecialchars($strData);
}



readfile("test.txt");
echo "<hr/>";
$resData = fopen("test.txt","r");
fread($resData,10);
fpassthru($resData);


$arr = file("http://www.baidu.com");
foreach($arr as $value){
  echo $value;
}




$strData = file_get_contents("http://www.baidu.com");
echo $strData;



$resData = @fopen("http://www.huanqiu.com/", "r") or die("文件不存在");
$strDatax="";
while($strData=fgets($resData)){
    $strDatax.=$strData;
}
preg_match("/<div id="block_id_42876" class="admin_block" blockid="42876">[sS]+?</div>/", $strDatax,$arr);
preg_match_all("/<h4>[sS]+?</h4>/", $arr[0], $arrx);
$strDatay="";
foreach ($arrx[0] as $key => $value) {
    $strDatay.=$value;
}
fclose($resData);
file_put_contents("log.txt",$strDatay);




echo unlink("log.txt")?"success":"failed";

echo copy("C:UsersAdministratorDesktopabc.txt","./abc.txt")?"success":"failed";
echo rename("C:UsersAdministratorDesktopabc1.txt","./abc1.txt")?"success":"failed";

$resData = fopen("abc1.txt","r");
fread($resData,3);
var_dump(ftell($resData));


$resData = fopen("abc1.txt","r");
fseek($resData, 3);
while(!feof($resData)){
   echo fgetc($resData);
}


**目录dir相关操作**

/*

目录操作


   file_exists 检查给定的参数是否是一个文件或目录
   is_dir  检查给定的参数是否是一个目录
   opendir 打开目录
   readdir 读目录里的数据

   date 格式化时间
   mkdir 创建目录
   closedir 关闭目录资源

 */

/*


$filename = "text.txt";
if(file_exists($filename)){
    fopen($filename,"r");
}else{
    exit("文件不存在");
}



$dirName = "./";
if(is_dir($dirName)){
    $resData = opendir($dirName);
    var_dump($resData);
}else{
     exit("目录不存在");
}


$dirName = "../";
if(is_dir($dirName)){
    $resData = opendir($dirName);
    while($strData = readdir($resData)){
         if($strData=="."||$strData==".."){
            continue;
         }
         if(is_dir($dirName.$strData)){
                echo date("Y/m/d H:i",filemtime($dirName.$strData))."----dir---".$strData."<br/>";
         }else{
                echo date("Y/m/d H:i",filemtime($dirName.$strData))."----file---".$strData."<br/>";
         }

    }
}else{
         exit("目录不存在");
}

closedir($resData);



$dirName = "test";
if(!is_dir($dirName)){
   mkdir($dirName);
}else{
  echo "已存在";
  rmdir($dirName);
}



*/


echo getcwd();
chdir("../");
echo "<hr/>";
echo getcwd();
echo "<hr/>";

$resData = opendir(getcwd());
while($strData=readdir($resData)){
  echo $strData."<br/>";
}

“`

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。