/*
批量把某目录下的所有.txt文件转化为对应的htm文件,该htm文件包含有方便阅读的css样式
生成的htm文件放在同一目录下htm目录下
参数1:要转化的目录的路径
执行 php txt2htm.php "C:\\txt\\"
php txt2htm.php "/tmp/txt/"
php txt2htm.php .
*/
$basedir=$argv[1];
if(!$basedir||!is_dir($basedir))
{
die("please input dir.\n");
}
//改变工作目录
chdir($basedir);
$d = dir(".");
//创建输出目录
$outputdir="./htm/";
if(!is_dir($outputdir)){
mkdir($outputdir, 0700);
}
//判断是否创建成功
if(!is_dir($outputdir))
{
die("cannot mkdir.\n");
}
while (false !== ($entry = $d->read()))
{
//判断是不是文件
if(is_file($entry))
{
$filename=strtolower($entry);
//判断是不是txt文件
if(stristr($filename,".txt"))
{
$wfile=$outputdir.basename($filename,".txt").".htm";
//若是文件已经存在,则跳过
if(file_exists($wfile))
{
echo "**********".$wfile." is exists ,skip this file**************\n";
continue;
}
if($str=file_get_contents($entry))
{
//写入样式,和换行
$str="
".str_replace("\n","\n",$str);
if($fp=fopen($wfile,"w"))
{
if (fwrite($fp,$str) === FALSE) {
//写入失败
echo $wfile." cover fail! fwrite fail\n";
}else{
echo $wfile." cover success!\n";
}
fclose($fp);
}else{
//创建文件失败
echo $wfile." cover fail! fopen fail\n";
}
}else{
//读取失败
echo $wfile." cover fail! file_get_contents fail\n";
}
}
}
}
$d->close();
?>