动态创建php文件和表
Posted
技术标签:
【中文标题】动态创建php文件和表【英文标题】:dynamically creating php files and tables 【发布时间】:2013-05-07 07:15:39 【问题描述】:我是 php 新手,在编写了几个 CMS 之后,我想尝试一些更复杂的东西。
我想做的是创建一个脚本,借此我可以创建一个包含函数、类和表单等的整个用户区域。类似于用户的个人管理面板,但在他们自己的目录中。目的是然后在网页中创建自己的网页。我认为这是一项常见的任务,因为我猜这是所有博客、投资组合网站、facebook、youtube 所做的。
我一直在尝试使用 mkdir
fopen
fwrite
和类似的命令,但我不知道如何使用这些 - 没有大量代码 - 来创建功能齐全的用户区域,如管理面板。
写完这篇文章后,我发现在扩展它时遇到了问题。如果用户总是在创建文件,那么这最终会占用大量的服务器空间。在 Codeigniter 之类的框架中通过 MVC 是否有更好的方法来做到这一点?
或者最好的方法是使用php copy()
?
【问题讨论】:
wordpress 会是你更好的选择吗?? @Subash 也许是的,但我想自己创建它以了解更多 PHP 你应该玩HMVC
Bonfire cibonfire.com 也可以看看 CI Bonfire module Builder 的功能
@dianuj 谢谢,这看起来不错
你可以试试 Codeigniter 框架,它轻巧但非常强大codeigniter.com
【参考方案1】:
所以你想在没有大量代码的情况下制作 facebook。祝你好运:)
但是要创建一个单独的用户区域,您不需要为这些用户实际创建文件。您有一个存储每个用户数据的数据库,并且您有一个为正确的用户选择正确数据的 php 文件。
下面的例子是一个非常简单的概念证明,不应该直接使用。
你有一个表 users
id | Name
1 | Elisa
2 | Hugo
还有一个表格内容
id | UserId | MyBlogEntry
1 | 1 | Hello, this is my blog
2 | 1 | Hello, this is my 2nd blog
3 | 2 | I dont like blogging
现在您有一个名为 usercontent.php 的页面,它接受用户名作为变量。你把它称为usercontent.php?user=Elise
或usercontent.php?user=Hugo
内容: 请记住,为简单起见,我省略了所有验证检查。您需要确保存在有效用户且没有 SQL 注入
<?
$user = isset($_GET['user']) ? $_GET['user'] : ''
if (empty($user))
echo 'I dont know this user';
exit;
echo $user.'\'s Blog<hr>';
$query = "SELECT * FROM content WHERE UserId=(SELECT Id FROM users WHERE name='".$user."')";
//execute mysqli query
while($row = $result->fetch_array(MYSQLI_ASSOC))
echo '<p>' . $row['MyBlogEntry'] . '<p>';
?>
Elisa 的输出将是这样的
Elisa's blog
---------------------
Hello, this is my blog
Hello, this is my 2nd blog
为了雨果
Hugo's blog
---------------------
I dont like blogging
【讨论】:
这很有意义,我已经在使用这样的方法来仅向用户显示他们自己的记录。但是您不会为每个用户的内容创建一个表吗?一张表中的所有内容? 您将拥有一个数据库和多个表。您可以有一张用户表,一张用于博客,一张用于设置,一张用于投资组合,一张用于 cmets,一张用于...等以上是关于动态创建php文件和表的主要内容,如果未能解决你的问题,请参考以下文章