Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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_Database_Data Storage - Fatal编程技术网

在PHP中存储某些数据的无数据库方法

在PHP中存储某些数据的无数据库方法,php,database,data-storage,Php,Database,Data Storage,我是PHP新手,但一般不懂编程。我想存储一些从web服务检索到的数据,但我不想为此建立数据库。首先,数据更新非常频繁,其大小始终小于1MB。 在Apache上,PHP中最好的、快速但高效的方法是什么?注意:我使用的是主机提供商,所以我不喜欢自定义安装。 也许吧,辛格尔顿? 谢谢尝试使用平面文件。如果您不需要进行任何形式的查找,也就是说。使用数据库。否则,您将无法序列化文件。但要做到这一点,您需要实现并发控制 节省时间和精力,使用数据库。数据库的明显替代方案是文件存储。PHP可以读写好的旧磁盘文件

我是PHP新手,但一般不懂编程。我想存储一些从web服务检索到的数据,但我不想为此建立数据库。首先,数据更新非常频繁,其大小始终小于1MB。 在Apache上,PHP中最好的、快速但高效的方法是什么?注意:我使用的是主机提供商,所以我不喜欢自定义安装。 也许吧,辛格尔顿?
谢谢

尝试使用平面文件。如果您不需要进行任何形式的查找,也就是说。

使用数据库。否则,您将无法序列化文件。但要做到这一点,您需要实现并发控制


节省时间和精力,使用数据库。

数据库的明显替代方案是文件存储。PHP可以读写好的旧磁盘文件;请参见fopen()、fread()、fwrite()和一些。您需要在服务器上为文件指定一个文件夹(公共html空间除外),并提出命名方案和数据格式。

我想问题是,数据将存储多长时间?如果您要存储数据,直到数据被替换或比单用户会话时间长,我个人认为数据库是理想的解决方案-它的设计非常高效,可以快速更改和检索数据

如果数据仅为单用户会话保存,则可以使用PHP会话将数据存储为数组


另一种选择是将数据存储在文件中。但是,在检索少量数据时,这可能会大大降低效率。

您可以使用云服务(亚马逊、谷歌……)。但除了让你的应用程序更复杂、更脆弱,让你自己更时髦之外,我看不出使用普通db或平面文件有什么好处

您可以将数组保存在纯文本文件中,使用

差不多

$fh = fopen("db.txt", "w");
fwrite($fh, serialize(array("field"=>"data"));
fclose($fh);
使用fread和模式“r”再次检索,然后使用方法
取消序列化

$fh = fopen("db.txt", "r");
$data = unserialize(fread($fh));
fclose($fh);

然后管理阵列中的数据。

您可以将数据存储在xml文件中,并使用simplexml加载和管理数据,如:

$xml=simplexml\u加载文件(“test.xml”)

然后,您可以有一个您定义的节点列表,并完成您的工作。如需进一步参考,您可以查看以下内容:


为什么不使用数据库?这听起来很适合你正在做的事情。如果希望数据无限期地保存,唯一的其他选择是将其存储到一个文件中,这实际上是相同的事情,只是更难管理。“单例”只是一种与数据存储无关的设计模式(现在真的是一个流行词),没有具体的含义。你的问题太模糊了。描述数据使用情况。否则,您将不得不接受广义的“只使用数据库”答案。