php文件基础操作

原创 2018-11-22 09:19:51 268
摘要:/**  * @param $fileName  * fileName 下的文件 合并为一个  */ function MixFile($fileName) {     $hostdir = iconv("utf-8",&nbs
/**
 * @param $fileName
 * fileName 下的文件 合并为一个
 */
function MixFile($fileName)
{

    $hostdir = iconv("utf-8", "gbk", $fileName); //iconv()转换编码方式,将UTF-8转换为gbk,若是报错在gbk后加//IGNORE
//    echo "<br>";
//    echo $hostdir . "<br>";
    $mixFile = $hostdir . "test.txt";
    $filesnames = scandir($hostdir); //scandir() 函数返回指定目录中的文件和目录的数组。默认升序排列,
    print_r($filesnames);

    foreach ($filesnames as $name) {

//        echo $name . "<br>";
        if ($name != ".." && $name != ".") //遍历结果中会多出‘.'以及‘..',没有用处,不予处理;
        {
            $cipath = $hostdir . $name;

//            echo $cipath . "<br>";
            if (is_dir($cipath)) {  //是文件夹 ,

                $cjfilenames = scandir($cipath); //根据情况再决定是否再向下遍历一次
                foreach ($cjfilenames as $cjname) {

                    if ($cjname != ".." && $cjname != "." && !is_dir($cipath . "/" . $cjname)) {
                        $str = file_get_contents($cipath . "/" . $cjname);
                        file_put_contents($mixFile, $str, FILE_APPEND);
                    }
                }

            } else {

                $str = file_get_contents($cipath);  //把文件内容 读取到一个字符串
                file_put_contents($mixFile, $str, FILE_APPEND);  //字符串写入文件

            }


        }


        echo "\n";
    }

}


/**
 * 遍历某个目录下的所有文件(递归实现)
 * @param string $dir
 */
function scanAllFile($dir)
{
    echo $dir . "\r\n";

    if (is_dir($dir)) {
        $children = scandir($dir);


        foreach ($children as $child) {
            if ($child !== '.' && $child !== '..') {
                scanAllFile($dir . '/' . $child);
            }
        }
    }
}


$str1 = '我是php的第一行文字';
$str2 = 'ABCdefg我是26个字母中的几个';
$str3 = '这也是用来测试的数据,请不要在意!!!!!2121212121';


//打开不存在的文件会 先创建文件

$content = '';

$filePaths = "E:\aa\bb\cc\php.txt";





if (is_file($filePaths)) {  //文件存在 操作

    wOrR($filePaths,$str1);


} else {  //文件不存在 ,现在创建再操作

    //1.获取文件信息

   $dirName = pathinfo($filePaths,PATHINFO_DIRNAME);  //拿到文件路径
   $baseName = pathinfo($filePaths,PATHINFO_BASENAME);    //路径下的 文件全名  PATHINFO_DIRNAME

    echo '<br>';
    echo $dirName;

   //2.创建文件  先创建目录 再创建文件
    $cr  =    mkdir($dirName,0777,true);
    if($cr){

        wOrR($dirName .'\\'.$baseName,$str1);

    }



}


//对文件 先写再读
function wOrR($filePath ,$content,$mode='a+'){

    //1.可读写 打开 指针自动到末尾,不清除之前的内容
    $fh =  fopen($filePath,$mode);   //在路径下创建文件  E:\aa\bb\cc\php.txt
    //2.写入内容
    fwrite($fh,$content);

    echo '文件的字节大小 :', filesize($filePath);
    echo '<br>';
    //3.读出文件内容  读取之前 先把 文件指针 移动到读取开始的位置
    rewind($fh);  //倒回文件指针的位置。
    echo '当前文件指针位置 :'. ftell($fh);
    echo '<br>';
    echo  fread($fh,filesize($filePath));  //读出文件内容


}


批改老师:天蓬老师批改时间:2018-11-22 09:52:58
老师总结:php高版本,提供了针对目录和文件操作的专用类库,有空了解一下,非常方便

发布手记

热门词条