PHP生成TXT文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP生成TXT文件相关的知识,希望对你有一定的参考价值。
<?php
if ($handle = opendir('./txt/'))
while (false !== ($file = readdir($handle)))
if ($file != "." && $file != "..")
echo "$file";
closedir($handle);
>?
将上面的代码的执行结果写入到dir.txt这个文件中,如何实现?
然后再另外一页写
<?php
$content = file_get_contents("http://localhost/a.php");//得到文件执行的结果
$of = fopen('dir.txt','w');//创建并打开dir.txt
if($of)
fwrite($of,$content);//把执行文件的结果写入txt文件
fclose($of);
?> 参考技术A <?php
$string="";
if ($handle = opendir('./txt/'))
while (false !== ($file = readdir($handle)))
if ($file != "." && $file != "..")
$string.=$file."\n\r";
closedir($handle);
writedir($string);
>?
大概就这样吧,writedir是自己定义的函数,就是把字符写到文件里去,怎么写文件,查查手册吧,我这里没手册,所有写不了具体的方法 参考技术B file_put_contents('dir.txt',$file); 参考技术C 网上查一下
fwrite
PHP生成TXT文件时乱码
在网上找了一个PHP代码用来统计蜘蛛访问日志,代码如下
<?php
date_default_timezone_set('Asia/Shanghai');
function get_naps_bot()
$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
if (strpos($useragent, 'baiduspider') !== false)
return 'Baiduspider';
return false;
function nowtime()
$date=date("Y年m月d日 G点i分s秒");
return $date;
$searchbot = get_naps_bot();
if ($searchbot)
$tlc_thispage = addslashes($_SERVER['HTTP_USER_AGENT']);
$url=$_SERVER['HTTP_REFERER'];
$file="logs.txt";
$time=nowtime();
$data=fopen($file,"a");
fwrite($data,"Time:$time robot:$searchbot URL:$tlc_thispage\n");
fclose($data);
?>
现在问题是TXT日志能够正常生成,但是中文输出却是乱码
Time:2011骞?3链?5镞?12镣?4鍒?0绉?robot:Baiduspider
能不能强制定义PHP输出字符为utf8格式?
把 $time 的编码转换一下
即 把 $time=nowtime(); 改成 $time=iconv('utf-8','gbk', nowtime());本回答被提问者采纳 参考技术B 直接用此即可:
header("Content-type: text/html; charset=utf-8");在开头 参考技术C header("Content-type: text/html; charset=UTF-8"); 页面头部加上试试。追问
试过了,但是不行,仍然显示错误,郁闷的是把txt拿到本地看的话又是正常的。
追答就是说,txt文件没有乱码,但显示不出来吗?
追问生成的TXT在网页上看起来就是乱码,取回本地看就是正常。
追答读取txt文件的页面有没有编码定义?
类似这样的。
另外看下,txt的文件是utf-8还是ansi的。
以上是关于PHP生成TXT文件的主要内容,如果未能解决你的问题,请参考以下文章