首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP安装/语法/函数 » [原创]关于php读写文件的问题  


  作者:灿烂季节
  注册时间:2005-04-14
  主题/回复:7/8
  积分:442
  等级:★★☆(五级)
  称号:略有小成

  123@321.net
  未提供
  www.

 

 发表:2005-04-26 00:12:27 阅读 2414 次 回复 5 次 得分2  |   字号 字色
[原创]关于php读写文件的问题
请问怎样用PHP实现对于一个文本文件的查找定位和插入修改?

 
 1#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 1#楼 发表于2005-04-26 02:12:09  评分:1 

fopen()打开fread()读取和fwrite()写入都比较简单
不过查找定位和插入修改比较困难。
目前还没有见到直接可以进行此类操作的函数

要实现可以自己写个小的算法,比如要查找可以用循环遍历每一行,再配合字符串处理函数可以实现查找
但是插入和修改,个人认为,需要把整个文件作为一个字符串读取,然后用字符串处理函数进行修改,然后再清空原有文件(或删除),然后重新写入新内容。

以上仅为个人意见。
 2#楼  
 
  回复人:lather
  注册时间:2005-04-21
  主题/回复:37/63
  积分:1079
  等级:★★★☆(七级)
  称号:论坛贤士

   
 2#楼 发表于2005-04-26 08:13:46  评分:1 

把全部字符串读到一个变量中然后用strpos查找需要对其进行操作的字符串
strpos返回第一次出现时的needle位置,然后就可以更改删除了
小弟不才,只能说这些了
 3#楼  
 
  回复人:灿烂季节
  注册时间:2005-04-14
  主题/回复:7/8
  积分:442
  等级:★★☆(五级)
  称号:略有小成

   
 3#楼 发表于2005-04-26 18:13:03  评分:× 

但是在将文本文件读入成字符串的过程中,

我试过了FGETS、FILE_GET_CONTENT、FILE和FREAD这几个函数,

但是他们都会把HTML标签给滤掉,

尤其是FGETS,在FGETSS拥有过滤功能的同时,FGETS也会过滤,

那两个函数不就一样了么,我查了手册,实在不知道是为什么,

是不是INI里面的设置要更改?望赐教~~~
 4#楼  
 
  回复人:lather
  注册时间:2005-04-21
  主题/回复:37/63
  积分:1079
  等级:★★★☆(七级)
  称号:论坛贤士

   
 4#楼 发表于2005-04-27 07:14:21  评分: 

你的测试不能说明什么问题,函数手册中没有标记去除html标签的函数其本身是不会自动去除的,与你的php.ini无关!
原因可能是你在浏览器中输出那些html标记来进行测试,这种测试是错误的,因为html不会再输出html标记的,只会用空格代替。
----------------------------------------------------
你可以这样测试,比如说file函数吧
html部分(test.htm):
1 <html>
2 <body>
3 <a href="#">
4 </a>
5 </body>
6 </html>

php部分:
<?php
$array=file("test.htm");
echo $array[2]."targetpage".$array[3];
//$array[2]和$array[3]分别是<a href="#">和</a>
?>

<a></a>属于html标记,但是如果你运行php程序后会发现targetpage是一个链接,足以说明file函数读数据时没有去掉html标记。
 5#楼  
 
  回复人:灿烂季节
  注册时间:2005-04-14
  主题/回复:7/8
  积分:442
  等级:★★☆(五级)
  称号:略有小成

   
 5#楼 发表于2005-04-29 17:00:46  评分:× 

原来是这样啊,我知道了,谢谢

另外我想问问,在线html编辑器的生成思路是什么?
 
比如FCKEDITOR或者DEVEDITOR,

编辑了文字或者图片后,

立即可以看到生成的HTML,

请问是怎么生成的?

是根据用户选择,

将预先写好的若干字符串(<p align="center">)类似的合并,

还是另外的办法?


 
 
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.006sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版