我只是制作一个非常基本的cms来制作一个单页网站。 不会从普通用户访问php。相反,它只是生成html网站。 但是,如果可能,我可以将代码用于一般用户。
由于某些原因使用数据库会导致一些问题所以我正在考虑使用fopen。 fopen如何与mysqli相比?我只是想知道在什么阶段使用fopen变得更加负担。
由于
答案 0 :(得分:7)
使用fopen
做什么? MySQL有什么问题?
无论如何,这两者是无与伦比的:
fopen
是一个函数在磁盘上打开文件,mysqli
是一组用于处理MySQL数据库的函数。
fopen
在同时请求中使用是不安全的 - 如果同一个脚本同时运行两次(例如,两个人在彼此的几毫秒内发出相同的GET请求),那么如果其中一个脚本写入则会发生损坏到文件,所以你将不得不使用一个锁定文件,这将使性能受损。
使用MySQL(版本5+)为您提供符合ACID标准的数据存储解决方案。
如果您说的是“单页网站”,那么您可能会使用fopen
,只需确保使用适当的锁定文件(以及良好的安全性!)。
答案 1 :(得分:0)
研究CMS就像WordPress一样,Drupal或Joomla与文件系统相比是一个更好的选择,尽管我想指出那些CMS不仅能够提供静态页面。我不确定您希望在文件中存储哪种数据,但您必须至少遇到两个主要问题,integrity
和locking
。仍然是it's very hard for me to imagine how that might not create an unpleasant experience for a user especially with concurrency and locking ?
我不知道任何“reasons using databases would cause a few problems
”。 Mysqli是一个面向对象的Mysql驱动程序,它也允许php的mysql驱动程序没有。
但是,是的,拥有数据库确实会带来某些安全责任,但通过良好的编程实践并遵循公认的范例,排除问题并不困难。而IMO这是一个由我们对数据库的控制产生的问题。许多缺乏经验的开发人员已经公开了这一点。
如果您正在考虑从事Web开发的职业,那么研究MVC框架可能也是一个好主意。这些框架中包含大部分锅炉板代码,其中一些框架迫使您遵循良好的做法,使您的应用程序可扩展,强大和安全。
对我而言,在平面文件系统上使用它是不,不,不......;)