其他教程

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

本文介绍如何在小程序中内嵌H5,并完成微信支付的整个流程闭环。我们知道微信H5支付是通过生成特定的支付链接,并跳转到这个链接去完成支付操作的。但在微信小程序中对于内嵌的页面域名具有白名单限制,如果支付链接是第三方的无法做加白处理。 这个时候我们就得换个思路了,该怎么解决呢?咱们往下看。 实现过程 小程序入口 在微信小程序中新建一个页面,使用web-view组件作为内嵌H5的入口,由于后续支付需要用到appId以及openId信息,因此需要对url做带参做处理 // page.wxml <web-view src="{{url}}"></web-view> url处理逻辑: Page({ data: { url: '' }, onLoad: function (options) { wx.sh...

最近模板兔给一个客户做Ai绘画小程序,需要用到自动翻译,一开始用百度的接口,但是但是百度接口在某种情况下有Bug,所以转用了阿里云的接口,下面简单说一下如何使用阿里云机器翻译API。 SDK安装 composer require alibabacloud/sdk 比如你的项目目录是app,那么可以在宝塔里对app目录进行composer安装,安装完成后会自动生成一个vendor文件夹,然后接着引用即可。 Github地址是github.com/aliyun/openapi-sdk-php 代码示例 require __DIR__ . '/vendor/autoload.php'; use AlibabaCloud\Client\AlibabaCloud; use AlibabaCloud\Client\Exception\ClientException; use AlibabaCloud\Client\Exception\ServerException; re...

最近模板兔给客户做了一个功能就是对海外用户价格翻倍,那么我们如何判断是海外用户呢? 这里,我们可以通过一个IP获取归属地的接口来简单判断下,但是这样判断可能会导致网络卡顿。 $ip = mbt_get_ip(); $api = "http://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query=".$ip."&co=&resource_id=6006"; $result = get_url_contents($api); $result= iconv('GB2312', 'UTF-8', $result); $result = json_decode($result,true); if($result['status'] == '0'){ $loct = $result['data'][0]['location']; //echo $loct; if(strpos($loct,'北京')!==false || strpos($loct,'上海')!==false || strpos($loct,'天津')...

我们可以通过 jsDelivr 来自建CDN加速。它很强大,通过 GitHub 搭配 jsDelivr 可以搭建自己专属的 CDN 库。 接下来将介绍 jsDelivr 与 GitHub 如何搭配使用。 首先,登录 GitHub 账户,创建新的仓库,仓库名为 cdn 。 然后,将仓库下载下来,添加静态资源文件,模板兔添加了 jquery.min.js 文件,然后上传到远程仓库。 GitHub 仓库界面,点击 tag => Releases ,发布版本。 此时,我们通过如下 url 规则即可访问刚才发布的资源了: https://cdn.jsdelivr.net/gh/<GitHub 用户名>/<GitHub 仓库名>@<发布的版本号>/<文件路径> https://cdn.jsdelivr.net/gh/erphp/cdn@1.0/jquery.min.js 其...

我们在做js开发的时候会遇到使用layer框架来做弹窗处理,那么在iframe子窗口处理完逻辑后想自动关闭子窗口(不刷新父窗口)并传值给父窗口,该如何做呢?下面模板兔给出相关代码供参考。 子窗口的代码: window.parent.erphpdownKeySuccess(data.html); var index = parent.layer.getFrameIndex(window.name); parent.layer.close(index); 父窗口的代码: function erphpdownKeySuccess(shtml){ jQuery(".erphpdown-key-result").html(shtml); var clipboard_pop = new Clipboard(".pop-copy"); clipboard_pop.on("success", function(e) { layer.msg("已复制关键字",{time:500}); }); }

想必很多用户都遇到自己的wordpress网站数据库挂掉的情况吧,因为内存经常不足导致宝塔面板mysql经常停止,需要检测mysql进程是否停止,就像php守护程序一样,检测到mysql 进程禁止后,检测到mysql停止会自动启动。 那么如何在数据库挂掉的时候自动重启数据库呢? Mysql进程守护脚本 shell脚本一: pgrep -x mysqld &> /dev/null if [ $? -ne 0 ];then         bash /www/server/panel/script/rememory.sh            /etc/init.d/mysqld start       fi Mysql进程守护脚本 shell脚本二: #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH pgrep -x mysqld &> ...

CloudFlare 的缓存可以提高网站的访问速度,但有时也会带来一些管理上的麻烦。好在,CloudFlare 允许禁用缓存。 CloudFlare 没有直接的配置项可以禁用缓存,但它提供了 Page Rule。 使用 Page Rule 完全禁用缓存: erphpdown.com/* *.erphpdown.com/* 添加两条规则,都选择 Cache Level(缓存规则),值为 ByPass(绕过)。 最后不要忘了在 Caching 面板中,Purge Cache 清除所有缓存。 这样就禁用了你整个网站的缓存了。

swiper幻灯片窗口大小变化以及container容器宽度变化时会导致图片宽度与容器宽度不一样,出现错乱,经过一番查询,可以在swiper的初始化里加以下代码 resizeObserver: true, //窗口容器变化 on: { resize: function(){ this.update(); //窗口变化时,更新Swiper的一些属性,如宽高等 }, } 但是,这个代码仅对浏览器窗口变化有效,container容器大小变化时无效,那么怎么解决呢? 可以动态获取容器的宽度,修改容器的宽度,但是我们不能直接获取容器的宽度,只能通过窗口的宽度减去其他div的宽度,计算出最新的容器的宽度。 var ddd = window.innerWidth - 90 - $(".sidebar-left").width(); swiperHome.el.style.width = ddd+'px'...

最近开发时遇到一个很奇怪的问题,swiper轮播时第二张开始会往左偏移,一开始我以为是宽度没100%,设置后也没用,百思不得其解。 最后找到了解决方案: var swiper = new Swiper('.swiper-container', {})中添加 observer: true, // 修改swiper自己或子元素时,自动初始化swiper observeParents: true,   // 修改swiper父元素时,自动初始化swiper 这样就解决了!

PHP的array_filter函数,通过array_filter可以在数组中查找value <?php // 定义一个二维数组 $arr = array( array('id'=>2, 'score'=>103), array('id'=>5, 'score'=>102), array('id'=>3, 'score'=>102), array('id'=>3, 'score'=>107), array('id'=>4, 'score'=>101), ); /*********** 在二维数组中通过value查找数组元素 ***********/ $searchValue = 102; $r = array_filter($arr, function($t) use ($searchValue) { return $t['score'] == $searchValue; }); var_dump($r); /******************** 查找end ********************/ ?>

本文实例为大家分享了JavaScript实现无缝滚动图片的具体代码,供大家参考,具体内容如下: 参数说明: setInterval 开启间隔型定时器 clearTimeout 关闭定时器 offsetWidth 获取宽度 offsetLeft 获取向左偏移量 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>无缝移动</title> <style> *{margin: 0; padding: 0;} #div1{width:520px; height:170px; margin:20px auto; position: relative; /* !!! div1 的位置是相对的 */ background: pink; overflow: hidden} /* !!! overflow: hidden */ #div1 ul{position: absolute; left:0; top:0;} ...

checkbox/ radoi默认不支持更改背景颜色,这里可以使用伪类来实现。基本原理是利用after/ before插入新的元素。然后利用新元素的背景颜色或背景图片覆盖掉原来的样式。 input[type=checkbox] { margin-right: 5px; cursor: pointer; font-size: 14px; width: 15px; height: 12px; position: relative; } input[type=checkbox]:after { position: absolute; width: 10px; height: 15px; top: 0; content: " "; background-color: #ff0000; color: #fff; display: inline-block; visibility: visible; padding: 0px 3px; border-radius: 3px; } input[type=checkbox]:checked:after { content: "✓"; font-size: 1...

这里提供宝塔官方论坛的一键脚本安装,但是安装过程也非常漫长,慢慢等吧。 wget http://download.bt.cn/install/ext/ffmpeg.sh && sh ffmpeg.sh 安装完后可输入以下命令是否安装成功。 ffmpeg -version 3、网站应用 应用到网站需要在PHP×设置中取消掉 scandir,exec、system、shell_exec函数。 装好之后,PHP截图某一帧代码: exec('/usr/local/bin/ffmpeg -ss 00:00:01 -i ./test.mp4 ./test.jpg -r 1 -vframes 1 -an -f mjpeg 1>/dev/null'); PHP代码示例: function ffmpeg_thumb_callback(){ global $wpdb; $post_id = esc_sql($_POST['post_id']); $video = esc_sql($_POST['video']); $status = 0; ...

CloudFlare大家都知道是做防护的,那么我们把域名DNS换成CF的之后,如果使用CF的免费SSL证书呢? 其实很简单,只需要一步即可,而且你不需要在服务器里配置SSL。当然,这个免费SSL证书只加密浏览器与 Cloudflare 之间的流量,也就是说SSL/TLS 加密模式为 灵活。 在CF后台的网站菜单里,点进某个域名,你会看到如下: 生效后,上图的那个“无证书”的地方会显示你的域名,状态为有效。

1、清理网站日志/php站点session/系统邮件/临时文件 cd /www/server/panel && python tools.pyc clear 2、清空面板回收站 rm -rf /www/Recycle_bin 3、清除mysql二进制日志(操作过程中会停止重启数据库) /etc/init.d/mysqld stop rm -f /www/server/data/ib_logfile* rm -f /www/server/data/mysql-bin.* /etc/init.d/mysqld start 4、检查磁盘剩余空间 df -h 5、查询整个服务器磁盘空间内容 du -h --max-depth= / 假如看到www文件夹占用空间较大,那么定位到www目录 du -h --max-depth= /www/ 找到大文件删掉即可。一般都是一些.log日志文件把磁盘空间占满了。