PHP文本的读写
2018-06-22 05:09:19来源:未知 阅读 ()
1 <?php 2 $txtPart="test0.txt"; //export 3 $txtPartContent=fopen($txtPart,"r"); //读文件,返回TRUE,FALSE 4 if($txtPartContent){ //若文件存在继续 5 while(!feof($txtPartContent)){ //feof函数检查是否已到达 "end-of-file" (EOF),遍历文本 6 $txtPartContentLine=fgets($txtPartContent); //fgets() 函数用于从文件读取单行,文件指针会移动到下一行 7 $key=mb_substr($txtPartContentLine,0,17); //mb_substr(A,B,C) C:中文是两个字节 8 $myArr[$key]=$txtPartContentLine; //循环生成数组 9 } 10 fclose($txtPartContent); //关闭读文件 11 } 12 13 $txtWrite="write0.txt"; 14 $txtWriteContent=fopen($txtWrite,"w"); //打开写文件 15 16 $i=0; 17 $txtMain="test1.txt"; //tempor 18 $txtMainContent=fopen($txtMain,"r"); 19 if ($txtMainContent){ 20 while(!feof($txtMainContent)){ 21 $isVerify=false; //默认不是核实人 22 $txtMainContentLine=fgets($txtMainContent); 23 $keyCompare=mb_substr($txtMainContentLine,0,17); 24 foreach($myArr as $x=>$x_value){ //循环遍历数组 25 if($keyCompare==$x){ //如果前17个字节一样,输出数组那行,(数组被匹配) 26 echo $x_value; 27 fwrite($txtWriteContent,$x_value); //写入被匹配的数组值 28 $i=$i+1; //记录匹配到的次数 29 $isVerify=true; //如果匹配成功则确认为核实人 30 } 31 } 32 if($isVerify==false){ 33 echo $txtMainContentLine; 34 fwrite($txtWriteContent,$txtMainContentLine); 35 } 36 echo "<br/>"; 37 } 38 fclose($txtMainContent); 39 } 40 41 fclose($txtWriteContent); 42 43 echo "Yep!".$i; 44 ?>
读文件:
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
写文件:
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "First Line";
fwrite($myfile, $txt);
$txt = "Second Line";
fwrite($myfile, $txt);
fclose($myfile);
中文截取:mb_substr()
mb_substr( $str, $start, $length, $encoding )
$str,需要截断的字符串
$start,截断开始处,起始处为0
$length,要截取的字数
$encoding,网页编码,如utf-8,GB2312,GBK
(PS:mb_substr第四个参数编码格式我没有加,不知道加完以后是怎么样)
测试:
$txtTest="我只是一个测试,今天是2017-02-19,-Mazey";
$txt1=mb_substr($txtTest,0,10);
$txt2=mb_substr($txtTest,0,10,'utf-8');
$txt3=mb_substr($txtTest,2,10,'utf-8');
echo $txt1."<br/>";
echo $txt2."<br/>";
echo $txt3."<br/>";
输出:
我只是一个
我只是一个测试,今天?
是一个测试,今天是20
分析:
$txt2后面出现一个乱码,难道是因为中文下的","只占一个字节,然后另一个中文输出了一半?
再次测试:
$txtTest="我只是一个测试哈今天是哈2017-02-19,-Mazey";
$txt2=mb_substr($txtTest,0,10,'utf-8');
echo $txt2."<br/>";
输出:
我只是一个测试哈今天?
分析:
编码参数换成"GBK"后可以正常显示,可能含中文的话就要用"GBK",也可能与代码编码格式有关,后续遇到问题或者问问其他同事吧。
今天先睡觉了。:)
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); echo fread($myfile,filesize("webdictionary.txt")); fclose($myfile);
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- PHP写UltraEdit插件脚本实现方法 2020-03-29
- php 带逗号千位符数字的处理方法 2020-03-28
- PHP三元运算符的结合性介绍 2020-03-28
- PHP静态延迟绑定和普通静态效率的对比 2020-03-28
- 基于php流程控制语句和循环控制语句 2020-03-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash