2013-05-07 27 views
1

我是PHP新手,在写了一对CMS之后,我想尝试一些更复杂的东西。动态创建php文件和表

我想要做的是创建一个脚本,因此我可以创建功能,班级和形式等,像一个个人管理面板为用户,但他们自己的目录中的整个用户区域。目标是在网页内创建自己的网页。我认为这是一个普遍的任务,因为我猜这是所有的博客,投资组合网站,脸谱,YouTube的。

我一直在尝试mkdirfopenfwrite和类似的命令,但我不知道我怎么能使用这些 - 无码地段 - 打造功能完备的用户领域,如管理面板。

写在这之后我看到在扩大这个问题。如果用户总是创建文件,那么这最终会占用大量的服务器空间。更好的方式来做到这一点是通过像Codeigniter这样的框架MVC?

或者将最好的方式做到这一点是通过使用php copy()

+0

将wordpress的是更好的选择吗? – Subash 2013-05-07 07:21:30

+0

@Subash也许,但我想自己创建,以了解更多PHP – 2013-05-07 07:23:12

+2

你应该使用'HMVC'篝火http://cibonfire.com/ 也可以看到CI篝火模块的功能 – 2013-05-07 07:24:57

回答

1

所以你想让facebook没有很多代码。祝你好运:)

但要创造你不实际创建为这些用户文件单独userarea。你有一个数据库存储每个用户的数据,你有一个php文件,为正确的用户选择正确的数据。

下面的例子是概念的一个非常简单的证明,并且不应该被直接使用。

你有一个表的用户

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=Eliseusercontent.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 
+1

这很有道理,而且我已经使用这种方法向用户显示他们自己的记录。但是你不会为每个用户的内容创建一个表格?所有内容在一个表中? – 2013-05-07 07:36:37

+1

您将拥有一个数据库和多个表。你可以为用户设置一个表格,一个用于博客,一个用于设置,一个用于投资组合,一个用于评论,一个用于......等等 – 2013-05-07 07:47:24