PHP - 使用NO数据库存储信息

paf*_*de2 5 php apache storing-data

我将改进Apache和PHP中的一个网站,该网站的页面包含一个包含文件列表的表.我的目标是允许用户根据某些特定和主观标准将其中一个文件设置为"重要"文件.为了做到这一点,我想以某种方式存储关于最"重要"文件的信息,但限制是我既不能使用数据库也不能使用文件(主管强加的约束).

我的问题是:

  • 可能吗?
  • 我怎样才能做到这一点?

我已经在这个网站上搜索过了,但我找不到答案.

编辑:顺便说一句,最后我使用XML文件解决了我的问题.非常感谢大家.

Gli*_*ire 4

假设这些标准是客户端而不是服务器端,因为如果它们是服务器端并且它应该是所有用户的一个“重要”文件,那么没有存储就无法做到这一点。

您的解决方案的假定答案是 localStorage()...

它依赖于 Javascript,绝对不是一个完美的解决方案,但HTML5 localStorage允许您在用户的计算机上存储首选项。

首先,检测对 localStorage() 的支持:

if (Modernizr.localstorage) { // with Modernizr
if (typeof(localStorage) != 'undefined' ) { // Without Modernizr
Run Code Online (Sandbox Code Playgroud)

然后设置一个参数(如果支持):

localStorage.setItem("somePreference", "Some Value");
Run Code Online (Sandbox Code Playgroud)

然后稍后检索它,只要您的用户尚未清除本地存储:

var somePreference = localStorage.getItem("somePreference");
Run Code Online (Sandbox Code Playgroud)

当你想清除它时,只需使用:

localStorage.removeItem("somePreference");
Run Code Online (Sandbox Code Playgroud)

对于那些使用不受支持的(较旧的)浏览器的人,您可以使用滥用 Flash LSO 的本地存储黑客,但这些绝对不理想。

会话或cookie 怎么样?

这两种都是有意的临时存储形式。即使是 Flash LSO 也比 cookie 更适合长期存储。

这种限制实际上是在鼓励不良做法......

所有这些选项都是浏览器端的。如果用户移动到另一台 PC,他/她的首选项将在该 PC 上重置,这与数据库驱动的身份验证系统不同,您可以在登录时保存首选项。

存储此类数据的最佳方法是在数据库中。如果无法运行数据库服务,可以使用SQLite或将数据存储在 JSON 或 XML 文件中。