未来往事
我愿像茶一样,把苦涩留在心底,散发出来的都是清香。 [2018年 第34周/共52周]

tp5 Excel表格导入_tp5导出Excel

thinkphp5使用PHPExcel导入Excel、csv表格,thinkphp5表格导入导出

tp5使用PHPExcel导入Excel表格文件:

  1. PS:将PHPExcel扩展包放到vendor目录下  
  2. /vendor/PHPExcel.php  
  3. /vendor/PHPExcel  
  4.   
  5. public function uploadUser(){  
......
+阅读全文

tp5分页 搜索条件不保留/失效处理方法

thinkphp5.0分页 搜索条件不保留/失效解决

一般写法:分页跳转不包含搜索条件的
  1. $where = array();  
  2. $regionId = input('regionId/d');  
  3. $regionId && 
......
+阅读全文

tp5上传文件自定义名称

thinkphp5上传文件自定义名称
$file->move($path,自定义的名称); //指定名称
$file->validate(['size'=>1048576,'ext'=>'jpeg,jpg'])->rule('uniqid')->move($path); //唯一命名,validate为验证

tp5附件上传示例
  1. public function uploadPic(){  
  2.    &nbs
......
+阅读全文

tp5 save遍历新增数据第二次变为update问题处理

thinkphp5 save循环新增数据第二次变为update问题解决

  1. $user->data($data,true)->isUpdate(false)->save();  

......
+阅读全文

下拉刷新/上拉加载更多/上滑加载更多-移动端

元素容器
<div class="wrap"></div>

下拉载入更多处理方法

  1. <script src="http://apps.bdimg.com/libs/zepto/1.1.4/zepto.min.js"></script>
  2. <

......
+阅读全文

过滤微信表情/干掉emoji表情

微信表情/emoji表情是个麻烦的东西,即使你能存储,也不一定能完美显示。在iOS以外的平台上,例如PC或者android。如果你需要显示emoji,就得准备一大堆emoji图片并使用第三方前端类库才行。即便如此,还是可能因为emoji图片不够全而出现无法显示的情况,在大多数业务场景下,emoji也不是非要不可的。我们可以适当地考虑干掉它,节约各种成本。

  1. public function get_filterEmoji($str){
......
+阅读全文

jQuery图片裁剪插件Cropper

Cropper:一个简单的jQuery前端图片裁剪插件。

功能特性:

支持选项
支持方法
支持事件
支持触屏 (移动端)
支持缩放
支持旋转
支持翻转
支持 canvas
支持多个 croppers
跨浏览器支持

主要文件Main:

dist/
├── cropper.css     ( 5 KB)
├── cropper.min.css ( 4 KB)
├── cropper.js      (67 KB)
└── cropper.min.js  (24 KB)

使用介绍:



已知问题:

1.关于getCroppedCanvas方法:canvas.drawImage API 在某些 Mac OS / iOS 浏览器上将会根据 EXIF 方向自动旋图片,所以输出的剪裁画布可能不正确。要修复这个问题,你需要上传剪裁的数据到服务器上完成剪裁的操作,查看例子:Crop Avatar。或者你也可以在使用 cropper 之前处理一下 EXIF方向。
PS:cropper EXIF照片旋转方向前端处理方法参考:
 (a)Exif.js读取图像的元数据
 (b)利用exif.js解决IOS系统手机上传竖拍照片旋转90度问题
 (c)H5中图片上传的那些坑
2.已知的 iOS 资源限制: 由于 IOS 设备会限制内存,浏览器也许会在你剪裁一张大图(iPhone 相机分辨率)的时候崩溃掉。要避免这个问题,你需要在使用 cropper 之前重置图片大小(小于1024 px,如使用localResizeIMG4压缩图片)。

Demo案例参考:

本站Demo参考-建议使用手机浏览器打开测试
点击在新窗口中浏览此图片
+阅读全文

phpmyadmin Error during session start

错误详细描述:
phpMyAdmin - Error
Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.
错误截图:
点击在新窗口中浏览此图片

系统环境:
centos7 apache

错误原因分析:
服务端无法写入......
+阅读全文

mysql用户变量 mysql用户自定义变量 @:=

mysql用户自定义变量:可以先在用户变量中保存值然后在以后引用它;这样可以将值从一个语句传递到另一个语句。用户变量与连接有关。也就是说,一个客户端定义的变量不能被其它客户端看到或使用。当客户端退出时,该客户端连接的所有变量将自动释放。

用户变量的形式为@var_name,其中变量名varname可以由当前字符集的文字数字字符、‘.’、‘’和‘$’组成。 默认字符集是cp1252 (Latin1)。可以用mysqld的—default-chara

......
+阅读全文

php图片添加水印/图片合成/水印平铺

php图片加水印,php文字水印,php平铺水印,php图片水印,php图片添加图文 平铺水印。

图片添加文字水印

  1. $bigImgPath = '08.jpg';  
  2. $img = imagecreatefromstring(file_get_contents($bigImgPath));  
......
+阅读全文

URL数字安全码随机拼组生成及校验

URL数字随机重组校验,URL地址id随机加密生成及逆向校验 URL加密解密
PHP版本:
  1. echo geturl(888);  
  2. //输出结果:http://fity.cn/post/984-1186-187-2698712709009 //每次刷新数值都会全部改变。  
  3. //实现原理:对数字888重组后为999,然后999+187=1186。可应用到一些防刷、防采页面,如投票防刷(id数字不公开全在服务端处理好)。  
  4.   
  5. /** 地址拼组 */  
  6. function geturl($a){  
  7.   return $href = "http://fity.cn/post/".renum($a);  
  8. }  
  9. /** 数字重组  未来往事博客:http://fity.cn */  
  10. function renum($a){  
  11.   $n = numScaler($a);  
  12.   $c = SetRandNum(strlen($a));  
  13.   $d = SetRandNum(strlen($a));  
  14.   $n = intval($n) + intval($d);  
  15.   $b = getMillisecond();  
  16.   $b = numScaler($b);  
  17.   return $c."-".$n."-".$d."-".$b;  
  18. }  
  19. /** 数字换算 */  
  20. function numScaler($a){  
  21.   $str=str_split((string)$a);  
  22.   $b="";  
  23.   foreach($str as $key => $val){  
  24.     switch($val){  
  25.       case "0":$b .="0";break;  
  26.       case "1":$b .="2";break;  
  27.       case "2":$b .="5";break;  
  28.       case "3":$b .="8";break;  
  29.       case "4":$b .="6";break;  
  30.       case "5":$b .="1";break;  
  31.       case "6":$b .="3";break;  
  32.       case "7":$b .="4";break;  
  33.       case "8":$b .="9";break;  
  34.       case "9":$b .="7";break;  
  35.     }  
  36.   }  
  37.   return $b;  
  38. }  
  39. /** 随机值生成  未来往事博客:http://fity.cn */  
  40. function SetRandNum($n){  
  41.   $a="";  
  42.   for($i=0;$i<$n;$i++){  
  43.     $a .= floor(random()*10);  
  44.   }  
  45.   return $a;  
  46. }  
  47. /** 0.0-1.0随机值生成 */  
  48. function random(){  
  49.     return mt_rand() / (mt_getrandmax() + 1);  
  50. }  
  51. /** 获取当前时间戳,精确到毫秒 */  
  52. function getMillisecond() {  
  53.   list($t1$t2) = explode(' ', microtime());       
  54.   return (float)sprintf('%.0f', (floatval($t1) + floatval($t2)) * 1000);  
  55. }  

jquery版本:
+阅读全文

jquery web流程图拖拽构建

js/jquery实现流程拖拽,js/jquery实现web流程设计器,js/jquery动态流程图构建

实现意义:
管理员可以随时根据企业的运营发展情况便捷动态调整企业的组织架构(审批)流程、可视化流程建模,通过流程设计器,快速通过“拖、拉、拽”实现流程定义建模,通过流程监控实时分析流程实例的运行数据分析,提供企业流程的不断优化的依据,同时智能流程版本管理功能,当流程变化较大时旧的实例按旧的流程定义运转,新启动的流程按新版本的流程运转,新旧隔离互不影响。从而降低系统维护人力投入及维护时间。

正文:
JQuery UI的拖拽功能:
JQuery UI是JQuery官方支持的WebUI 代码库,包含底层交互、动画、特效等API,并且封装了一些Web小部件(Widget)。同时,JQuery UI继承了jquery的插件支持,有大量的第三方插件可以丰富JQuery UI的功能。
JQuery UI提供的API极大简化了拖拽功能的开发。只需要分别在拖拽源(source)和目标(target)上调用draggable和droppable两个函数即可。
拖拽原理:
首先要明确几个概念。
  ource:拖拽源,要拖动的元素。
  taerget:拖放目标,能够放入source的容器。
拖拽的动作分解如下:
  1. drag start:在拖拽源(source)上按下鼠标并开始移动
  2. drag move: 移动过程中
  3. drag enter:  移动进入目标(target)容器
  4. drag leave: 移出目标(target)容器
  5. drop: 在目标(target)容器上释放鼠标
  6. drag end: 结束
在html5之前,页面元素不直接支持拖拽事件。所以都是通过监听鼠标事件并记录拖拽状态的方式来实现拖拽功能。如:
点击在新窗口中浏览此图片

jsPlumb的流程拖拽功能:
jsPlumb是一个强大的JavaScript连线库,它可以将html中的元素用箭头、曲线、直线等连接起来,适用于开发Web上的图表、建模工具等。它同时支持jQuery+jQuery UI、MooTools和YUI3这三个JavaScript框架,十分强大,大家可以在官网的Demo中看看它的功能。如:
+阅读全文

jQuery甘特图开发基础

jQuery.Gantt插件是一个非常轻量级的插件,使用纯HTML代码创建甘特图,不需要矢量图形或图像。插件支持拖拽调整甘特块和回调函数更新数据。

点击在新窗口中浏览此图片

关于使用场景的很少案例:项目管理排期、广告系统排期等,欢迎补充

【参考文献】
jQuery.Gant:http://taitems.github.io/jQuery.Gantt/
......
+阅读全文

专利技术交底书(涉及计算机软件的发明)范例说明

专利技术交底书(涉及计算机软件的发明)范例 编写格式要求说明

发明名称
(25个字以内) 简明、准确地表明专利请求保护的主题。名称中不应含有非技术性词语,不得使用商标、型号、人名、地名或商品名称等

本专利属于以下哪一种:
1、纯软件的算法发明,如一个能实现游客在室内外精确定位的导航软件; 2、软硬结合,即通过算法对相关硬件的功能进行改进,如采用某一算法使内存读取速率大为改进。

一、所属技术领域(即其直接所属或应用的技术领域)
本技术所属的技术领域为……
示例:本技术所属的技术领域为计算机领域,其涉及到一种GIS应用系统开发中,数据编辑时的图形节点坐标捕捉方式的设计与实现。

二、背景技术(即现有技术)
指对专利的理解、检索、审查有用的技术,可以引证反映这些背景技术的文件。 简要说明与本发明的工艺或方法最接近的现有技术的相关内容,涉及科技术语的话需要给出明确定义。如果可能,客观地指出现有技术(包括市场上的产品、技术、现有已公开的专利文件、公开发表的期刊论文等等)存在的问题和缺点(要着重笔墨针对本专利要重点解决的技术问题、而现有技术中存在的该缺点做描述,其他本专利不能解决的现有技术缺点可以不写),并结合其工艺或原理说明存在这些问题和缺点的原因。引证文献、资料的,应写明其出处;需要引用已公开专利文件的,请写明专利名称与申请号。

三、本专利要解决的主要技术问题(即发明主要目的)
即本专利最重要的改进是解决了现有技术中哪些问题,对应前面的“背景技术”的缺点来写。

四、技术方案【核心部分】
+阅读全文

免费稳定SSL证书申请及服务器HTTPS协议配置支持

免费稳定SSL证书申请网站,ssl证书服务器部署,HTTPS协议配置支持

更新支持HTTPS协议的初衷/背景:
谷歌从 2017 年起,Chrome 浏览器将也会把采用 HTTP 协议的网站标记为「不安全」网站;苹果从 2017 年 iOS App 将强制使用 HTTPS;在国内热火朝天的微信小程序也要求必须使用 HTTPS 请求。

基于上述需求实现HTTPS对于可以说是势在必行,而HTTPS的起点则是获取一张SSL证书。所以亲测了下推荐以下两个免费稳定SSL证书申请地址:
1.SSL For Freehttps://www.sslforfree.com
......
+阅读全文