其他教程

模板兔提供一些网站建设相关的教程,让大家迅速的做好一个网站。

模板兔最近在基于chatgpt开发对话列表时,遇到这样一个问题:mysql的数据表结构有id,create_time,update_time,如何基于create_time倒序查询列表时,同时查出哪条记录的update_time最大。 经过一番查阅,可以使用子查询和ORDER BY语句来实现同时查询出update_time最大的记录。 具体的SQL语句如下: SELECT t1.id, t1.create_time, t1.update_time FROM table_name t1 JOIN ( SELECT MAX(update_time) AS max_update_time FROM table_name ) t2 ON t1.update_time = t2.max_update_time ORDER BY t1.create_time DESC; 解释一下上面的SQL语句: 首先,我们查询出table_...

你可以使用 event.stopPropagation() 方法来阻止事件冒泡,从而避免下层元素的点击事件被触发。例如,假设你有一个父元素和一个子元素,你可以在子元素的点击事件处理函数中调用 event.stopPropagation() 方法: document.querySelector('#child').addEventListener('click', function(event) { event.stopPropagation(); // 处理子元素的点击事件 }); document.querySelector('#parent').addEventListener('click', function(event) { // 处理父元素的点击事件 }); 在上面的代码中,当你点击子元素时,子元素的点击事件处理函数会被触发,但是父元素的点击事件处理函数不会被触发,因为 event.stopPropagation() 方法阻止...

以下是模板兔用php写的请求chatgpt3.5 非流输出模式(不是打字特效)的代码示例,这种非流模式一般用于批量生产文章。通过chatgpt你可以大量生产伪原创文章,提供网站收录。近期我们会增加一个wordpress通过GPT批量发布文章的功能(通过关键字批量生成标题然后再批量提问,或者导入标题列表然后批量向chatgpt提问)。 $header = array( 'Accept: application/json', 'Authorization: Bearer '.$API_KEY, 'Content-type: application/json', ); $postData = [ "model" => "gpt-3.5-turbo", 'max_tokens' => ERPHP_API_TOKENS, 'temperature' => 0.9, "stream" => false, "messages" => [], ]; $postData['messag...

最近给客户用thinkphp开发gpt时遇到一个问题就是浏览器会提示这样一个错误:EventSource's response has a MIME type ("text/html") that is not "text/event-stream". 可是明明PHP已经申明了header("Content-Type: text/event-stream"); 折腾了一会终于解决,原来thinkphp使用了数据缓冲来输出内容,这会导致有些响应格式没有生效,所以在上面的PHP代码中添加ob_end_clean();可以解决问题。 if (ob_get_level() > 0) { // 如果有缓冲区,则清空缓冲区 ob_end_clean(); } header("Content-Type: text/event-stream"); header('X-Accel-Buffering: no');

最近模板兔在给客户开发chatgpt相关功能,遇到一个问题就是在输出[DONE]后我在js里却获取不到内容,百思不得其解呀,这个问题困扰了许久。后来才发现,虽然输出done是表示接口获取完成了,但是在网页端由于是流加载,这边又是通过流加载时动态赋值,所以输出了[DONE]但是流加载还在继续,所以导致获取不到内容。 解决方法就是在流加载里判断是否加载完了(也就是打字特效是否打完了所有结果),然后再去获取整个内容。 下面是我问GPT后给出的回答,感觉对我没有任何意义,不知道对你们的开发是否有作用呢? 当ChatGPT输出[DONE]时,您可以调用一个回调函数来获取整个内容。 以下是一个示例代码: function getChatGPTOutput(call...

这段代码会在页面上创建一个全屏的弹幕容器,然后定义了一个弹幕类和一个弹幕管理类。弹幕类用于创建单个弹幕,弹幕管理类用于管理多个弹幕的滚动。在页面加载完成后,我们可以通过调用弹幕管理器的addDanmu方法来添加弹幕,然后调用start方法开始弹幕滚动。弹幕滚动的实现是通过定时器不断更新每个弹幕的位置,并判断弹幕是否超出屏幕,如果超出则从弹幕容器中移除。 HTML: <div id="danmu"></div> CSS: #danmu { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; } JS: // 定义弹幕类 class Danmu { constructor(text, color) { this.text = text; ...

最近给一个客户二次开发thinkphp,关于chatgpt功能的,其中需要查询5分钟以内的数据,那么如何查询呢?使用whereTime('create_time','-5 minutes')。 $openid = Db::table('mp')->where('scene_id',$scene_id)->whereTime('create_time','-5 minutes')->value('openid'); 下面是其他日期时间的一些查询语句,供大家参考。 一、使用where方法进行时间的比较查询 where(‘create_time’,’> time’,’2019-1-1′); // 大于某个时间 where(‘create_time’,'<= time’,’2019-1-1′); // 小于某个时间 where(‘create_time’,’between time’,[‘2018-1-1′,’2019-1-1’]); // 时间区间查询 二、使用whereTime方法 whereTime(‘...

以下是一个简单的用JavaScript实现滚动新闻的例子: HTML代码: <div id="news-container"> <ul id="news-list"> <li>这是第一条新闻</li> <li>这是第二条新闻</li> <li>这是第三条新闻</li> <li>这是第四条新闻</li> <li>这是第五条新闻</li> </ul> </div> CSS代码: #news-container { height: 100px; overflow: hidden; } #news-list { margin: 0; padding: 0; list-style: none; position: relative; animation: scroll 10s linear infinite; } #news-list li { display: block; padding: 10px; } @keyframes s...

html代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Ajax+PHP实现异步上传多张图片</title> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.js"></script> <style type="text/css"> #feedback{ min-height: 200px; text-align: center; border: 1px solid silver; border-radius: 3px; } #feedback img{ margin:3px...

模板兔在给客户开发一个网站的过程中,发现一个现象就是几乎所有的wordpress七牛插件都是走媒体库中转上传的,那么在上传大文件的时候就有可能卡死。那么如何实现文件直传到七牛呢? 首先,下载官方SDK,github.com/qiniu/php-sdk 官方文档 developer.qiniu.com/kodo/sdk/php 前端index.html <!DOCTYPE html> <html> <head> <title></title> </head> <body> <table> <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="image"> <input type="submit" value="上传"> </form> </table> <...

有时候我们在制作前端页面是需要讲图片显示成正方形,方便排版。可以使用以下CSS代码: .grids2 .grid2{float: left;width: calc(16.6666% - 20px);overflow: hidden;} .grids2 .grid2 a{width: 100%;height: 0;position: relative;padding-bottom: 100%;display: block;} .grids2 .grid2 a img{width: 100%;height: 100%;position: absolute;} 其中a标签包裹着图片img标签,然后主要就是看a与img的CSS。

模板兔经常会收到用户问怎么弄企业邮箱,这里就给大家介绍下几个免费的企业邮箱。 腾讯免费企业邮箱 申请网址:exmail.qq.com/onlinesell/intro 邮箱容量:1G 业务邮箱:3个,每个1G容量 zoho免费企业邮箱 作为一家美国公司,CEO为印度人,印度人的计算机能力世界还是比较闻名的,几乎和中国美食一样了,一步步申请中,也感受到了印度人那种精致的精神,邮箱申请下来后,使用体验还是非常不错的,如果是外贸初创公司或SOHO的人员,建议都可以用zolo免费企业邮箱。 申请网址:www.zoho.com/mail 网易163免费企业邮箱 申请网址:ym.163.com 这里推荐用腾讯的吧,毕竟大家比较常用QQ

最近接到客户反馈,网站已经在多个方面上做好了源站IP保密工作,并且在接入高防cdn之后源站服务器仍然遭受到多次ddos攻击,通过多方面排查基本确定泄露网站源站服务器IP的原因是因为ssl证书。 市面上很多工具爬虫24小时不停的抓取扫描IP,这类的工具网站通过无差别HTTP/HTTPS请求所有的IP,并将抓取到的IP地址所对应的网站记录到网站,以至于有些攻击者可以通过这类的网站可以直接查询到网站源站IP,因此我们在搭建网站的时候一定要做好屏蔽安全工作。 排查是否属于上述问题:通过https://你的源站IP,如果可以访问并且浏览器左上角锁的标志中显示了你的域名ssl证书那么就存在泄露的风险。 最近接到客户反馈,网站已经在多个方面上做...

比如我们直接访问/aaa.mp4路径时是直接播放视频,如果加了一个参数download=1(也就是直接访问/aaa.mp4?download=1)就是直接下载视频。 可以在宝塔里设置站点的配置文件,加上以下代码 location ~ .*\.(mp3|wma|mp4|swf|txt)$ { if ( $query_string ~ "download=1$" ) { charset utf-8,gbk; add_header Content-Disposition "attachment; filename*=$arg_n"; } }