参考链接:http://www.andrewryan.me/
我的个人网站已经工作一个多月了。我不断修改一些东西,因为我觉得我把整个事情设置错了。我知道我在某种程度上是这样的,我终于在寻求帮助了。
我一直在研究动态网站结构,我想知道一些事情:
动态内容的最佳实践。
我在根文件夹中有网站的框架。这包括索引和样式。
(以及脚本文件夹、图像文件夹和其他杂项文件类型..)
最新的博客条目会显示在索引页面上。如果他们想查看我所有的专业帖子/主题,他们只需转到任何给定的子部分即可。
(例如:index.php?p=专业)
从那里开始;如果用户想要查看完整的博客文章,他们只需点击该文章,然后就会进一步动态地拉起。
(例如:index.php?p=professional/thispost (idfk))
如何在动态内容中创建动态内容。
如何制作可更新的内容,一旦页面上传到其各自的文件夹,这些内容就会归档。
这是我的文件结构:
root/
> images/
||--> x.png
> pages/
||--> personal.php
||--> professional.php
||--> contact.php
||--> 404.php
||--> contact.php
> personal/
|||--> personalposts.php
> professional
|||--> professionalposts.php
> gallery/
|||--> galleryposts.php
> scripts
||--> scripts.php/js/etc
|--> .htaccess
|--> index.php
|--> style.css
|--> robots.txt
|--> humans.txt
...以及动态页面的代码:
<?php
$pages_dir = 'pages'; //Scans the pages directory
if (!empty($_GET['p'])) { //If not empty it will get the file
$pages = scandir ($pages_dir, 0); //Sets up files as array
unset ($pages[0], $pages[1]); //Unsets the first two. These are just dots.
$p = $_GET['p'];
if (in_array($p.'.php',$pages)) {
include ($pages_dir.'/'.$p.'.php');
} else {
include($pages_dir.'/404.php'); //DENIED!
}
} else {
include($pages_dir.'/blog.php'); //if it's the index page
}
?>
我或多或少想知道我的结构是否正确,或者是否有更好的方法来做到这一点。我希望能够制作这个网站一次,然后在需要时自动更新内容。
首先,您必须将网站分成多个页面(每个页面都有不同的布局)。例如,要注销,您将具有如下内容:sitename.com/?action=logout
要回家,您可以访问 sitename.com,如果您尝试 /?p=somethingThatDoesntExist 那么您仍然可以到达主页(或错误页面)
如果您可以访问网络根目录下的某些内容,那就更好了。然后,您应该将所有 .php 文件保留在 /root/content/ 中,并且只将一个 index.php 文件保留在 /root/www/
如果玩家登录(如果他是管理员,则可以选择),我用此代码为玩家提供一个页面
// Check if alternate page requested
if (!empty($_GET["p"]) and !empty($_SESSION['id']))
{
$page = $_GET["p"];
if (!empty($pages[$page]))
{
$page_array = $pages[$page];
if ( (!empty($page_array['auth'])) && ($user['Auth'] < $page_array['auth']) )
{
$page_array = $pages['index'];
}
}
else
{
$page = '';
}
}
然后,你做基本的事情:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang='en'>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><? echo $page_array['title'] ?></title>
<link rel="stylesheet" href="css/3p/reset.css" type="text/css"/>
<link rel="stylesheet" href="css/3p/formalize.css" type="text/css"/>
<link href="css/bootstrap.css" rel="stylesheet">
<link href="css/main.css" rel="stylesheet">
<link href="css/bootstrap-responsive.css" rel="stylesheet">
</head>
<body>
<?php
require("../content/header.php");
require($page_array['require']);
require("../content/footer.php");
?>
</body>
</html>
这是page_array的内容:
$pages = Array();
$pages['admin'] = Array(
'auth' => 3,
'require' => "../admin/index.php",
'title' => "Administration - NPG CP"
);
$pages['index'] = Array(
'require' => "../content/index.php",
'title' => "Home - NPG CP"
);
$pages['friends'] = Array(
'require' => "../content/index.php",
'title' => "Friends - NPG CP"
);
$pages['pm'] = Array(
'require' => "../content/index.php",
'title' => "Messages - NPG CP"
);
$pages['stats'] = Array(
'require' => "../content/index.php",
'title' => "Statistics - NPG CP"
);
在我的网站上,我只使用一个可查看的文件来处理其他所有事情。