摘要:/** * @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高版本,提供了针对目录和文件操作的专用类库,有空了解一下,非常方便