最近工作中需要完成一个评论的功能,上网查找了几个评论系统的展示样式。最后参考“多说”和“畅言”等评论系统,自己使用PHP语言实现了一个简单的评论系统。...具体实现方案如下(在ThinkPHP框架上实现): 1、递归方式 优点:实现代码简单,而且如果评论的层级固定在5个层次一下的话,建议使用该种方法,这样前端通过这种数据结果实现简单。...缺点:如果评论的层级没有固定的话,前端将无法展示评论信息了,而且如果层级太多的话,将会极大的消耗内存,更要命的是每次递归都得查询数据库,性能将大大的降低。.../** * @param $arc_id 文章id * @param int $comm_id 评论id * @param array $result * @return array */...可以实现n层级的评论,前端也能很好的展示 缺点:代码稍微复杂,对于固定的层级评论,前端展示评论较为复杂。
本文共 237 个字数,平均阅读时长 ≈ 1分钟 1、修改 comment.php 路径 /Joe/public/comment.php 代码 截图 图片 2、修改functions.php 路径 /Joe/functions.php 代码 // 评论图片 $CommentImg = new Typecho_Widget_Helper_Form_Element_Select...( 'CommentImg', array('on' => '开启(默认)', 'off' => '关闭'), 'on', '是否开启评论图片功能', '介绍:开启后,评论区域可以选择图片进行评论' )...// 评论图片功能 $(".imgUpload #imgUpload_btn_upload").click(function() { $(".imgUpload #imgUpload_btn_file
最后,这个评论是关联到某篇文章(Post)的,由于一个评论只能属于一篇文章,一篇文章可以有多个评论,是一对多的关系,因此这里我们使用了 ForeignKey。...为了便于理解,我们可以把表单和前面讲过的 Django ORM 系统做类比。...回想一下,我们使用数据库保存我们创建的博客文章,但是我们从头到尾没有写过任何和数据库有关的代码(要知道数据库自身也有一门数据库语言),这是因为 Django 的 ORM 系统内部帮我们做了一些事情。...,因为后面需要把评论和被评论的文章关联起来。...{% endfor %} 接下来尝试在详情页下的评论表单提交一些评论数据,可以看到详情页的评论列表处渲染了你提交的评论数据。
Valine 是一款基于 Leancloud 的极简评论系统,作者为 xCss。...// [v1.0.7 new]留言框占位提示文字 }); 评论数据管理 关于评论数据管理,请自行登录 Leancloud 应用管理
需求分析评论系统是互联网社区网站的重要组成部分,对增强用户参与度、提高网站活跃度等方面都具有重要价值。...一个简易的评论系统(在线社区平台)通常包含以下功能用户评论:用户可以对某个产品、主题进行评论,包括文字评论。评论展示:所有用户的评论将会在产品或服务页面下方展示,其他用户可以查看。...评论的展示有多种组织方式,参考《评论系统的几种展示结构和存储设计》,本文主要针对常见的二级嵌套评论的组织形式。评论回复:用户可以对其他用户的评论进行回复,形成互动。...评论审核:为了防止恶意评论或者垃圾信息,系统需要有审核机制,对用户的评论进行审核。评论排序:用户可以根据时间、评分等因素对评论进行排序。...评论系统中最核心的实体。模块设计简易评论系统设计 Comment-BFF: BFF层,用于接收和处理来自C端用户的请求(包括读、写评论),并返回结果。
简单模仿了一个评论模板,当然肯定是没有博客的 valine 这么强大的 hhhh, PHP 表单安全性的重要提示 $_SERVER["PHP_SELF"]变量能够被黑客利用!...php echo htmlspecialchars($_SERVER['PHP_SELF']);?...php echo $name;?>"> * "> * 评论:<?php echo $comment;?
1 2 3 4 5 6 yarn docs:dev # 或者:npm run docs:dev 当然这对于大多数人来说都是很简单的问题,自vuepress公开以后,有太多筒子想要vuepress添加评论系统...# 选择一个第三方评论系统 gitment 来必立 Valine 前两者都是有厚实的长城,所以我建议各位就别想了,虽然有搭建过的blog。如果有想了解的请看VuePress 集成第三方评论模块 。...使用其他方法更新评论组件 或者使用其他较为好用的评论组件 * 2. 添加categories and tag * 3....加入以上代码即可完成真个评论系统,然后 yarn dev即可看到效果! # 我的开源项目地址 vuepress-blog 欢迎star!mmm 我的blog
需求分析 评论系统是互联网社区网站的重要组成部分,对增强用户参与度、提高网站活跃度等方面都具有重要价值。...一个简易的评论系统(在线社区平台)通常包含以下功能 用户评论:用户可以对某个产品、主题进行评论,包括文字评论。 评论展示:所有用户的评论将会在产品或服务页面下方展示,其他用户可以查看。...评论的展示有多种组织方式,参考《评论系统的几种展示结构和存储设计》,本文主要针对常见的二级嵌套评论的组织形式。 评论回复:用户可以对其他用户的评论进行回复,形成互动。...评论审核:为了防止恶意评论或者垃圾信息,系统需要有审核机制,对用户的评论进行审核。 评论排序:用户可以根据时间、评分等因素对评论进行排序。...NULL,因为我们的评论系统是二级嵌套结构,因此被回复的评论和当前评论在组织形式上是同级的,而非父子结构。
代码 /* * $filename 图片地址 * $src 替换地址 * $degrees 转换度数 */ private function flip($filename...} $data = @getimagesize($filename); if($data==false)return false; //读取旧图片
首先打开 functions.php 文件,粘贴下面的代码 // 获取浏览器信息 function getBrowser($agent) { if (preg_match('/MSIE\s([^\s...[1]); $outputer = 'Safari'; } else{ $outputer = 'Google Chrome'; } echo $outputer; } // 获取操作系统信息...{ $os = 'Android · '; } else { $os = 'Linux · '; } echo $os; } comments.php...中找到合适位置(比如评论作者的后面)添加以下代码 agent); ?>agent); ?>
下文介绍我引入Valine评论系统的全过程: 首先请保证你的butterfly主题的版本比较新,截止到22/03/24,官方已经更新到了4.1.0 安装Valine系统 遵循Valine的指示,配置好...LeanCloud->数据存储->结构化数据->Comment里面 如果更改了posts的路径,需要修改对应数据的url参数,否则评论会消失 对用户添加标签“博主/好友/访客” 打开valine.pug...安装butterfly系统时如果是npm安装,则文件位置在node_modules/hexo-theme-butterfly/layout/includes/third-party/comments/valine.pug...blueimp_md5: valine: https://cdn.jsdelivr.net/gh/tzy13755126023/BLOG_SOURCE/valine_f/valine.min.js Valine获取评论失败...domain name users, overseas version will be automatically detected (no need to manually fill in) 无法评论
很多博客的评论框有背景图片,因为担心服务器的响应时间,一直都没设置,为了鼓励访客评论,我也给评论框添加了背景图片,实现的方法是very very简单。...1.准备一张在评论框显示的图片,命名为comment.png,上传到主题images文件夹中。
这几天想到,别人给我发的评论,我还要到后台去看,实在是太麻烦了,于是发现了一个好项目valine-admin可以帮我发送邮件评论提醒,这样我就可以实时收到别人给我发的评论。...image.png 项目地址 本文章图片素材,部分来自此项目的官网 设置valine邮件提醒 我们需要先确保你的valine可以正常发送邮件 访问leancloud 如图设置你的邮件主题 修改邮件主题...:你在某某网站的评论收到了新的评论 修改内容:将下面的代码复制到“内容”中,并将其中的你的网址首页链接改为你的网址首页链接。...Hi, {{username}} 你在 {{appname}} 的评论收到了新的回复,请点击查看: <a href="你的网址首页链接" style="display...请确认<em>评论</em>时留下的邮箱不是环境变量里的 SMTP_USER 或 TO_EMAIL 里的邮箱,原因详见 7.30 更新日志。 请确认修改环境变量后已重启容器。
在更换主题后的这一段时间里,博客运行良好,内容我也在不断完善,评论自然是继承原来的 Valine 也运行正常,但是,其实从上个主题开始,我就没有配置邮件的评论系统,所以对于评论的查看,我一直都是登陆 LeanCloud...给评论者通知的邮件模板 MAIL_SUBJECT 邮件标题,注意措辞; MAIL_TEMPLATE 邮件正文,需要美化! 不同于站长的通知邮件,这是给评论者看的,必须花里胡哨,这是面子工程!...变量填写完毕后部署 [20200325230147.png] 完成之后的问题 以上全部完成,基本可以实现比较友善的评论系统,但仍然存在一个大问题: LeanCloud 的强制休眠!...该休眠会导致有很大概率用户在评论时实例是休眠状态,从而导致邮件提醒的不可触发,即以上整个邮件系统并不是 100% 可用,迫切需要一种比较好的休眠策略。...用户通知 14 MAIL_TEMPLATE 详见第六段代码 用户通知 15 AKISMET_KEY 4b02d0d***** 评论过滤 16
使用过很多自带的评论系统,太慢太慢,为了网站的访问速度,我一度关闭了评论功能,现在有了更好的方式,那就是私有部署!!!!
通过各种高科技功能同步到Hajeekn 的博客 本文基于@CCKNBC的日志@Waline 官方文档和博主自己部署时的实际情况编写 如果需要最详细的配置请前往 @Waline 官方文档 评论系统特性 快速...[x] 评论删除 [x] 其它数据库支持 [x] 基于 IP 的发布评论频率限制 [x] 基于关键词的评论过滤限制 [x] IP 黑名单 [x] 重复内容检测 [x] CloudBase 腾讯云开发部署支持...[x] 社交登录 [ ] AWS, GCP, Azure 部署支持 [ ] 置顶评论 [ ] 评论赞踩 如果您要获得来自 Waline 群友或公子大佬的支持,可以在Github Discussions...上手 博主采用 Butterfly 主题,已经内置 Waline 评论系统 Vercel + LeanCloud 博主就使用了这种方式(毕竟能白嫖谁还要花钱啊?...中获得的 APPID APPKEY MasterKey 获取方法: 进入 LeanCloud 这边用国际版演示 进入选择 Console 如果没有创建一个应用 注意 ⚠: 如果您之前用了 Valine 评论系统
主要还是用到php中的GD库中的函数 upload_image.php,主要是一个上传控件,用来选择图片 upload_image.php,主要是一个上传控件,用来选择图片 Your username...Image Caption 然后是上传和处理图片的逻辑check_image.php<?...php //修改图片效果 $db = mysql_connect(‘localhost’,’root’,’Ctrip07185419′) or die(‘can not connect to database...> 当使用imagefilter方法处理图片之后会把图片输出到页面,这里要注意imagejpeg方法的第二个参数是空字符串,这样它就不会写入到硬盘中了,如果第二个参数设置了会覆盖原有的图片,这样可以让用户在保存图片之前随意的预览效果...$_POST[‘id’].’.jpg’ , 100); php中处理图片的方法: IMG_FILTER_NEGATE:将图像中所有颜色反转。
本文实例为大家分享了php图片裁剪函数的具体代码,供大家参考,具体内容如下 /* * 图片裁剪工具 * 将指定文件裁剪成正方形 * 以中心为起始向四周裁剪 * @param $src_path...string 源文件地址 * @param $des_path string 保存文件地址 * @param $des_w double 目标图片宽度 * */ function img_cut_square...$img_width = $img_info[0];//原图宽度 $img_height = $img_info[1];//原图高度 $img_type = $img_info[2];//图片类型...imagecopyresized($dst_ims, $src_im, 0, 0 ,0, 0 , $scale_width , $scale_height , $img_width,$img_height);//缩放图片到指定尺寸...($dst_im, 0, 0, $white); imagecopy($dst_im, $dst_ims, 0, 0, $src_x, $src_y, $des_w, $des_w);//开始裁剪图片为正方形
本文实例为大家分享了PHP实现图片压缩的具体代码,供大家参考,具体内容如下 /** * 生成图片 * @param string $im 源图片路径 * @param string $dest 目标图片路径...* @param int $maxwidth 生成图片宽 * @param int $maxheight 生成图片高 */ function resizeImage($im, $dest, $maxwidth...* @param string $sFile 源图片路径 * @param int $iWidth 自定义图片宽度 * @param int $iHeight 自定义图片高度 * @return...string 压缩后的图片路径 */ function getThumb($sFile,$iWidth,$iHeight){ //图片公共路径 $public_path = ''; //判断该图片是否存在...$attach_fileext, $sFile); //判断是否已压缩图片,若是则返回压缩图片路径 if(file_exists($public_path.
Dreamweaver PHP 图片上传 在 Dreamweaver 中,上传图片到数据可以比较容易的实现,但是上传到一个目录,需要借助于 PHP 代码来实现。...我的学生大多没有 PHP 的编程经验,所以很多能用几句 PHP 实现的功能,我也尽量想办法通过 Dreamweaver 来实现。...和 Mysql 编程基础 目的 练习 Dreamweaver 服务器行为应用 了解 PHP 文件上传 了解 Javascript 表单验证和 Dom 操作 ==== 12月13日 修正在 IE7 下图片预览问题...==== 在 IE6 中,可以通过更改 img 的 src 属性实现本地图片预览,但是 IE7 也限制了本地图片的预览,这种办法已无法显示图片。...不过 IE7 下可以用 AlphaImageLoader 来实现图片的预览。AlphaImageLoader 可以在对象容器边界内,在对象的背景和内容之间显示一张图片。 需要修改的内容: 1.
领取专属 10元无门槛券
手把手带您无忧上云