Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.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可以从txt文件读取和解释数据吗?_Php_Mysql - Fatal编程技术网

PHP可以从txt文件读取和解释数据吗?

PHP可以从txt文件读取和解释数据吗?,php,mysql,Php,Mysql,我对PHP非常陌生,所以如果这个问题是初级的,请原谅我 我想用PHP为我的文章索引分页。但我在谷歌上找到的所有教程都要求将要分页的数据存储在某种数据库中。我的主机上只允许有两个MySql数据库,我有点想把这些数据库保存起来,做一些更重要的事情。我随机想到用一个.txt文件替换MySql数据库,并将我的数据放在那里。因为我在我的网站上存储了一个页面列表,所以我不在乎人们是否能看到文本文件 下面是我希望文本文件的布局方式(每个字段用冒号分隔): 我想知道这是否是可能的,如果是,是否有任何资源可以提供

我对PHP非常陌生,所以如果这个问题是初级的,请原谅我

我想用PHP为我的文章索引分页。但我在谷歌上找到的所有教程都要求将要分页的数据存储在某种数据库中。我的主机上只允许有两个MySql数据库,我有点想把这些数据库保存起来,做一些更重要的事情。我随机想到用一个.txt文件替换MySql数据库,并将我的数据放在那里。因为我在我的网站上存储了一个页面列表,所以我不在乎人们是否能看到文本文件

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

我想知道这是否是可能的,如果是,是否有任何资源可以提供如何做到这一点的信息


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

是的,当然php可以。为了更好地理解这一点,你应该学习php文件处理。你可以使用file\u get\u contents()来读取文件,然后分解它。这非常简单。

php
提供了许多文本处理函数。请查看文档中的部分。关于文件处理,请阅读关于的部分

一些可以帮助您的功能:

  • -读取文件的全部内容并返回字符串;它是成对的-用作为参数传递的字符串值替换文件的内容(或创建文件,如果它不存在)
  • -读取文件内容,将其拆分为行并返回字符串数组(行)
  • 可用于将
    文件()
    生成的行拆分为组件()
  • -使用分隔符将字符串拆分为多段(不会像
    str_getcsv()
    那样处理任何引用或转义);paired by-使用粘合字符串连接数组中的项
  • -从打开的文件中读取一行,并将其拆分为组件(CSV);它是成对的
  • 要使用
    fgetcsv()
    /
    fputcsv()
    和其他从文件中读取或写入数据块的方法,您需要先打开文件(使用),然后在结束处理(使用)后将其关闭
这只是您应该检查的函数的一个小列表。您可以在中找到有关他们(和其他人)的更多信息

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

在决定使用文本文件之前,还要考虑你在问题评论中得到的好建议。 @mario(检查的输出,搜索

SQLite
pdo_SQLite
);对于小型数据库来说,它是一个很好的选择,它是
SQL
——如果您使用它访问它,您可以稍后切换到
MySQL
或其他
RDBMS


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

这可能会因为主题不明确而关闭,但简而言之,是的。查看php手册中的
file\u get\u contents
explode
。为了规避数据库限制,只需为不同的项目使用不同的表前缀。例如测试表1,测试表2,…谢谢!我也在考虑使用XML页面。这可能吗?也有用于xml处理的php库,但严重的是——滥用表前缀将更多数据塞进数据库。除非它是一个超级不专业的宿主,否则大多数php安装都有SQLite绑定。
date:article name:URL:catagory:tags:special notes