基于php+mysql的博客设计

如何用自己的代码制作自己的博客网站?

大二的时候想要开一个自己的博客,可是想了想也没什么可写的,然后一直拖拖拖,还是不知道写什么,“建一个自己的博客”也成了一句空话。拖了整整一年,到了大二暑假,开始设计博客;

本以为要考虑很多程序逻辑设计,数据库设计,担心写一半发现错误只能重写;但是,到最后做出来感觉还是挺简单的,没什么特别复杂的地方;

绝大多数人用的博客都是别人的代码,所以如果自己写代码搭建博客网站,是不是很high、big、up呢?

话不多说,直接干货:

首先要选择一个富文本编辑器

富文本编辑器就是那种你可以像word一样在里面编辑文字的东西。还不清楚?如果你也用csdn写博客并且用的不是markdown编辑器,那你写博客时用的就叫做“富文本编辑器”。

我用的是simditor,挺简洁的;

在html中调用说明文档里的某个函数可以得到编辑器中内容的html代码


示例:

我是
xiaowu
12345678910

就会得到:我是
xiaowu
12345678910


还有是本地图片上传的问题,这个编辑器的图片上传功能文档写的有点少,试了几种方法才成功;

图片上传接口代码:



if ($_FILES["fileData"]["size"] < 2048000) {
    $type = $_FILES["fileData"]["type"];
    if (($type == "image/jpeg") || ($type == "image/png") || ($type == "image/gif") || ($type == "image/x-ms-bmp")) {
        if (!$_FILES["fileData"]["error"]) {
            $new_file = "imgUpload/" . date('Ymd', time()) . "/";
            if (!file_exists($new_file)) {
                mkdir($new_file, 0700, true);     //检查是否有该文件夹,如果没有就创建并给予最高权限
            }
            $new_file = $new_file . time() . "." . substr($type, 6);
            move_uploaded_file($_FILES["fileData"]["tmp_name"], $new_file);
            $array = ["success" => true, "file_path" => "{$new_file}"];
        } else {
            $array = ["success" => false, "msg" => "上传遇到问题,请重试!"];
        }
    } else {
        $array = ["success" => false, "msg" => "请重新上传——图片格式应为:jpg/png/gif/bmp"];
    }
} else {
    $array = ["success" => false, "msg" => "请重新上传——图片大小不能大于2M"];
}

echo json_encode($array); //返回json格式结果

这样编辑博客基本没有问题了。

然后是保存博客的问题

数据库开一张表即可,设置‘标题’、‘内容’、‘长度’、‘日期’、‘文章状态’、‘点赞数’、‘点踩数’、‘浏览次数’、‘创作时间’及用户登录验证相关信息等字段;

保存博客尽量使用ajax,如果用跳转的方式感觉很反人类呀;后端在进行保存处理前要对文章id、题目、创建时间、作者等信息进行验证,防止别人恶意修改不是自己的文章;

还有就是如何去掉内容中的html标签而获取文章长度呢?可以使用php的库函数htmlspecialchars(),也可以使用js在浏览器端进行统计,建议选择后者,因为可以把计算压力分散给用户;

JavaScript正则代码:

<script>
    String.prototype.strip = function(){
        var reTag = /<(?:.|\s)*?>/g;
        return this.replace(reTag,"");
    }
script>

调用 内容.strip().length 方法即可得到文字长度。

然后是设计个人中心

个人中心根据‘作者’和登录信息字段从数据表中读出,可再根据‘文章状态’分为若干小组;

个人中心一般要设置修改题目、修改内容、发布文章、删除文章等功能(可根据自身需要增减),这些功能建议写在一个php文件中;

点击修改内容后跳转至富文本编辑器页,编辑器有根据提供的html代码显示内容的函数,将从数据库中读取的内容直接添加到函数内,编辑器内容区即可显示出对应文字和格式;

修改题目、发布文章、删除文章功能都是比较简单的,不再赘述。

更好的设计

把博客分为三个部分呈现,一部分是显示文章列表,一部分是显示文章内容,最后是显示其它信息(比如最近最火的文章、点赞数最多的文章等)。

End

到这里搭建一个博客也就差不多了,如果还有遗漏的细节,欢迎在评论区指出~


我的个性博客:http://hpu.lifanko.cn:81/gnosis/

你可能感兴趣的:(PHP,其它)