PHP可以读取和解释来自txt文件的数据吗?

时间:2015-04-27 05:42:20

标签: php mysql

我很新,不熟悉PHP,如果这个问题是初级的,请原谅我。

我想用PHP对我的文章索引进行分页。但是我在Google上找到的所有教程都要求将要分页的数据存储在某种数据库中。我只允许在我的主机上安装两个MySql数据库,我有点想保存这些数据库以获得更重要的东西。我随机想到用.txt文件替换MySql数据库,然后把我的数据放在那里。由于我在网站上存储了一个页面列表,所以我不在乎人们是否可以看到该文本文件。

以下是我希望文本文件的布局方式(每个字段用冒号分隔):

date:article name:URL:catagory:tags:special notes

我想知道这是否可能,如果是,是否有任何资源提供有关如何执行此操作的信息?

另一种可能性是用XML文件替换.txt文件。这会是一个更好的选择吗?

2 个答案:

答案 0 :(得分:0)

是的,当然php可以。你应该研究一下php文件处理,以便更好地理解这个。你可以使用file_get_contents()来阅读flie&然后爆炸()它。它很简单。

答案 1 :(得分:0)

PHP为文本处理提供了许多功能。请查看文档的Strings部分。关于文件处理,请阅读有关Filesystem functions的部分。

一些可以帮助您的功能:

  • file_get_contents() - 读取文件的全部内容并返回一个字符串;它由file_put_contents()配对 - 用作为参数传递的字符串值替换文件的内容(或者如果它不存在则创建文件);
  • file() - 读取文件内容,将其拆分为行并返回字符串数组(行);
  • str_getcsv()可用于将file()生成的行拆分为组件(comma-separated values);
  • explode() - 使用分隔符将字符串拆分为多个(不处理str_getcsv()所引用的任何引用或转义);由implode()配对 - 使用胶水串连接数组的项目;
  • fgetcsv() - 从打开的文件中读取一行并将其拆分为组件(CSV);它由fputcsv();
  • 配对
  • 为了使用fgetcsv() / fputcsv()和其他functions从文件中读取或写入数据块,您需要先打开文件(使用{{3} })并在结束处理后关闭它(使用fopen())。

这只是您应该检查的一小部分功能。您可以在fclose()

中找到有关它们(和其他人)的更多信息

再想一想

在许多客户端同时访问的系统上使用文本文件而不是数据库并不是一个好主意(就像在网站上发生的那样)。如果代码只读取它们就可以了,但是如果它也试图写它们,迟早会导致数据损坏,因为没有可靠的方法可以防止两个进程(脚本的两个实例)到同时处理文件。

在决定使用文本文件之前,还要考虑您在问题评论中提出的好建议。

@mario PHP documentation(检查suggests to use SQLite的输出,搜索SQLitepdo_sqlite);对于小型数据库来说,它是一个不错的选择,它是SQL - 如果您使用phpinfo()访问它,则可以稍后切换到MySQL或其他RDBMS。< / p>

@pala_ PDO。这意味着对属于同一应用程序的所有表名使用公共前缀。 WordPress安装程序使用此技巧允许在同一数据库中安装多个WP实例。