加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

使用PHP查找和替换平面文件中的值

发布时间:2020-12-13 22:12:36 所属栏目:PHP教程 来源:网络整理
导读:我认为这已经有了一个问题,但我找不到一个.也许解决方案太容易了……无论如何,我有一个平面文件,并希望让用户根据名称更改值.我已经整理出使用fopen(‘a’)模式创建新的名称值对,使用jQuery发送带有newValue和newName的 AJAX调用.但是说内容看起来像这样: h
我认为这已经有了一个问题,但我找不到一个.也许解决方案太容易了……无论如何,我有一个平面文件,并希望让用户根据名称更改值.我已经整理出使用fopen(‘a’)模式创建新的名称值对,使用jQuery发送带有newValue和newName的 AJAX调用.但是说内容看起来像这样:

host|http:www.stackoverflow.com
folder|/questions/
folder2|/users/

现在我想更改文件夹值.所以我会将文件夹作为oldName发送,将/ tags /作为newValue发送.覆盖价值的最佳方法是什么?列表中的顺序无关紧要,名称将始终位于左侧,后跟|(管道),值,然后是换行符.

我的第一个想法是读取列表,将其存储在一个数组中,搜索所有[0]的oldName,然后更改属于它的[1],然后将其写回文件.但我觉得有一个更好的解决方法吗?有任何想法吗?也许regex?

解决方法

一个非常简单的方法是在整个文件上使用str_replace():

// read the file
$file = file_get_contents('filename.csv');
// replace the data
$file = str_replace('folder|oldValue','folder|newValue',$file);
// write the file
file_put_contents('filename.csv',$file);

这应该一次只能作为一个用户使用该文件.但数据库总是一个更好的主意.如果您需要CSV,最好还有一个额外的数据库到CSV脚本,而不仅仅是一个CSV文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读