Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中标识文件中的行_Php_File_Sed - Fatal编程技术网

在php中标识文件中的行

在php中标识文件中的行,php,file,sed,Php,File,Sed,我有一个文件,其中包含密码/用户名: 托马斯123 约翰321 识别线路并添加联系信息的最佳方式是什么?就在密码文件中,我不想存储,因为文件的大小很重要。。我想在记录之前添加一个标识符字符串,如下所示: [1] 托马斯123 [2] 约翰321 你觉得怎么样?这是识别线条的好方法吗?如果是,如何读取标识符[编号]后的行 如果我能读出,那么我可以在第二个文件中存储联系信息 [1] 电子邮件等 [2] 电子邮件等 这是一个离线应用程序的配置文件,很遗憾,我无法更改该文件的结构。最大更改:在行之前添加

我有一个文件,其中包含密码/用户名:

托马斯123 约翰321

识别线路并添加联系信息的最佳方式是什么?就在密码文件中,我不想存储,因为文件的大小很重要。。我想在记录之前添加一个标识符字符串,如下所示:

[1] 托马斯123 [2] 约翰321

你觉得怎么样?这是识别线条的好方法吗?如果是,如何读取标识符[编号]后的行

如果我能读出,那么我可以在第二个文件中存储联系信息

[1] 电子邮件等 [2] 电子邮件等

这是一个离线应用程序的配置文件,很遗憾,我无法更改该文件的结构。最大更改:在行之前添加标识符或使用数据库

非常感谢你


Adrian

您可以使用while循环,每隔一行读取一个id,每隔一行读取一个用户名和密码;然而,正如@zerkms所说,你最好把精力投入到一个经过测试的数据库中

学习使用数据库将在将来为您节省时间,这样在每个项目中,您就不必精确地了解如何操作平面文件


可重复使用的解决方案使您能够专注于您的目标和产品,无论是什么。

正如zerkms在对您的问题的评论中所说的,您可能应该为此使用一个数据库。如果您对在服务器上设置数据库感到不舒服,请查看哪一个数据库是真正易于使用和设置的基于文件的数据库

如果您想坚持使用文本文件方法,为什么要编写自己的格式和解析器?您也可以使用现有的格式,比如可以使用INI文件进行解析


而且:永远不要将文本文件存储在全局可访问的位置,例如webroot。

假定密码文件中的用户名是唯一的,否则它将不会非常有用。假设是这样的话,为什么不能在不添加任何内容的情况下保持其结构不变?然后,您的联系人文件可以按照bummzack的建议格式化为INI文件或JSON文件,并使用用户名作为密钥。

您只需调用一次file函数即可处理此问题

$lines = file ('passwords.txt');

之后,所有行都将从0到N-1编号。

最好使用数据库。甚至sqlite也可能是一个更好的解决方案。伙计们,这是一个离线应用程序的配置文件,遗憾的是我无法更改该文件的结构。最大更改:在行之前添加一个标识符