自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 ubuntu系统下配置php支持SQLServer数据库

最近在做一个项目,该项目的数据库是微软公司的的SQLserver ,数据库安装在另一台windows服务器上,而项目却部署在ubuntu server上。那么这样就会涉及到项目在linux上如何链接SQLserver ?在这里我用的是freetds 来做链接数据库的中间件,下面是我实践的步骤:1.下载最新的freetds ,访问 http://www.freetds.org/, 或者在 ubuntu上用 wget ftp://ftp.freetds.org/pub/freetds/stable/free

2022-02-20 10:45:38 631

原创 ThinkPHP 提示验证码输入错误

最近遇到一个项目中用的是Thinkphp这个框架开发的,其中在登录这块有验证码这个功能,其实这个功能是TP自带的,其中主要方法是buildImageVerify,位于ThinkPHP\Extend\Library\ORG\Util\Image.class.php中。该验证码的机制就是当前台每次重新绘制验证码时,那么在后台就会调用buidImageVerify这个方法,该方法主要是绘制验证码,并且把验证码上的数字或者是文字信息存储到session中。这样就完成了对验证码的存储以及output到前端,做校验这个

2022-02-20 10:43:11 990

原创 Yii框架中集成phprpc、hprose

在项目开发的过程中有时候会涉及到对外提供接口供第三方程序调用或者是不同程序间需要相互通信,那么最通用的做法是用传统的SOAP方式来实现,用XML的文档格式来作为传输载体。但是这种方式不灵活,支持的数据结构类型单一,例如(不能返回json格式的数据),同时在javascript中处理冗长的SOAP依然很困难,对于浏览器有压力,也就是说当XML的内容过多时可能会存在性能问题。如果在项目中有以上需求,不妨考虑使用第三方开发的远程调用框架phprpc:http://www.phprpc.org/zh_CN/ 或 h

2022-02-20 10:41:25 232

原创 windows bat脚本实现ftp自动下载 删除

现在有一个需求就是把远程某个文件下面的图片,下载到本地,并且删除下载成功的的文件,而且远程目录下的那个图片会随时增加。假设一下如果所有的脚本都写好了,那么就需要调用windows上的计划任务定时执行脚本就ok了,Linux上利用cronjob 同样可以做到。大体的实现思路如下,当然了不止这一种方式。在远程服务器上搭建ftp server ,例如这里在远程服务上的 images 作为下载目录。搭建ftp server 最简单的方式就是用FileZilla Server 这个工具去搭建,很方便,零配置。

2022-02-19 10:50:47 2291

原创 百度地图API实现多区域标记

最近遇到一个业务就是需要需要在地图上标记多个区域。一般餐饮业做外卖的,配送范围一般是多区域的,那么在地图上标记配送范围的时候就需要能标记多个区域。长话短说,最初的实现原型的截图如下:实现思路如下:1.根据百度地图API 手册先初始化地图:百度地图JSAPI 2.0类参考2.动态添加标记小区域(此处是给地图绑定鼠标右键事件,当点击鼠标右键时就会动态创建一个矩形区域) ,期原理就是当鼠标在地图上右键点击的时候,就会得到该点在地图上的经纬度坐标,然后以这个经纬度坐标为中心绘制出矩形区域。3.在

2022-02-19 10:50:37 1708

原创 PHP生成条形码

最近在做一个功能就是类似于手机支付宝上的付款码的功能,支付宝上的付款码包括条形码和二维码。在这里我们就通过PHP来生条形码。生成条形码的例子可以到官网上去下载Download - Barcode Generator by Barcode Bakery,下载最新的版本,然后解压到你自己的Apache的的DocumentRoot 目录,就可以生成条形码了。现在主要介绍一下这个功能在ThinkPHP3.0中如何使用:首先把下载下来的文件解压,吧class文件夹拷贝到TP的 ORG目录下,在拷贝之.

2022-02-19 10:50:22 1424

原创 Linux下通过shell脚本创建账户

当我们在linux平台上开发一些项目时,或者有一些项目是需要部署到linux系统上时,有时候会涉及到linux上的特定的账户,例如有一些项目需要运行在某些特定的账户下,或者有时候需要在全新的环境上搭建一些环境(例如:LAMP)linux+apache+mysql+php 时都可能会涉及到需要添加一些账户信息。如果此时用脚本来维护这些account,就会简化一些不必要的操作,大家应该都知道在linux如果手动添加用户都会涉及到一个交互的操作,无论你是用useradd命名或者直接操作/etc/passwd 或

2022-02-19 10:50:09 2355

原创 Linux下ThinkPHP网站目录权限设置

在windows上运行好好的项目,迁移到Linux上就遇到了很多问题,其中最为重要的是网站目录权限的设置,当然简单期间你可以用 命令"chmod 777 -R you web site" ,这样你就不用担心项目运行的时候会涉及到权限问题。通常来说如果你的项目时部署在公网或者是部署在租用的Linux服务器上不建议这么做,应为如果这样设置了那么任何用户都可以对这个站点下的文件,目录进行操作,这样也会影响网站的运营,同样不安全。下面以ubuntu14.4 系统为主进行分析。最简单的做法如下,这里不

2022-02-18 13:14:57 1096

原创 git管理和自动部署项目

当一个项目需要纳入到版本控制的时候,选择的工具还是比较多的,最常见的就是工具有CVS,SVN,GIT等。在平时的开发中视情况而定,从来就没有最好的版本控制工具,只有最适合的工具。在这里我习惯用git来管理自己的项目,当然之前使用svn管理的,但是当用了git工具就不愿意再用其它的工具来管理。这里除了习惯之外,git的很多功能是svn不具备的,最简单的就是离线提交,用git管理的项目你会发现整个项目的大小变化不大,不像svn那样每个目录又有一个.svn 的目录,而且会使项目的变得很大。关于git与svn的区别

2022-02-18 13:13:18 550

原创 Thinkphp整合最新Ueditor编辑器

说到最新的富文本编辑器的确不少(ckeditor、fkeditor、ueditor),这些富文本编辑器如果单独使用基本上很方便,不需要做额外的配置,只要把官方的插件下载下来放到一个web容器中,看看 插件中提供的 index.html 里的代码就明白应该怎么调用了。因为富文本编辑器会经常涉及到文件、图片、视频资源的上传,如果本身所用到的框架或者是项目本身就有一个模块是专门来处理这一块儿的,对一些资源需要做特殊处理的,例如水印处理,对图片的大小处理(原图、缩略图),那么就设计到把富文本编辑器与你现有的上传模块

2022-02-18 13:11:01 544

原创 MAC上 nodejs express 安装

最近在MAC上搭建 nodejs环境以及安装 express 框架,遇到了一些问题,不过最后总算还是安装成功了,下面是操作步骤1.node js 安装访问nodejs官网进入下载mac上的安装包 ,从这里下载 这里可以选mac installer 的 pkg 安装包,下载后直接点击安装就好,当然了也可以选择 binary 包进行安装,下载后用 tar -zxvf 命令先解压开然后 编译 在安装。新版本的安装包会把 npm(nodejs 的package管理工具)都会安装上,测试是否安装成功可...

2022-02-18 13:09:08 654

原创 Mac上安装brew

用过ubuntu系统的都知道,上面有一个命令apt-get 很方便可以快速的安装很多软件 特别lamp环境 都是一键安装。在mac上也有类似的命令 brewbrew用法可以访问官网地址The Missing Package Manager for macOS (or Linux) — Homebrew但是在mac上安装 brew 的命令如下curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -..

2022-02-18 13:07:28 2033

原创 冒泡排序(Bubble Sort)

常见的排序算法有Bubble Sort、Merge Sort、Quick Sort 等,所有排序算的基本法思想都是把一个无限大的数据规模通过算法一步步缩小,指导最后完成排序。这里分享一下Buuble Sort算法,php版本的。冒泡排序不适合在待排序的数据集特别大的情况下,这里只是一个简易的demo,待排序的数据在10以内。冒泡排序算法有2种极端的情况所导致的算法复杂度是不一样的:所有的数据集都是有序的,则此时通过算法优化可以是算法的复杂度从 O(n^2) 将至 O(n) 所有的数据集都是无序

2022-02-18 13:06:07 187

原创 logstash 统计告警

在实际的项目中需要对线上日志做实时分析跟统计,这一套方案可以用现有的ELK(ElasticSearch, Logstash, Kibana)方案既可以满足,关于这个方案的具体的步骤可以参考网上的解决方案。但如果只想统计某个错误码(http状态码,业务错误码)在指定时间内出现多少次然后就触发一个告警或者某个指令动作(邮件或者是调用已经写好的http接口,例如例如微信平台来通知告警信息等),这种需求可以用logstash进行实现,并且这种方案比较轻量级,很容易实现。这里以在linux平台为主。下载首先.

2022-02-18 13:04:42 472

原创 有用的和不为人知的Java特性

在日常java开发中,在jdk8以前 集合的操作比较麻烦,特别是对集合空的判断,需要写一些重复相似的代码去做判断,但是在jdk8以后,concurrent 包下有丰富的集合接口,简化了之前使用集合的复杂度.这里说一些有用的几个特性且容易被忽略的.延迟队列在开发中如果需要把元素加入到一个队列集合中,但是希望它能够延迟执行,那这里就推荐使用DelayQueue 队列.这样在加入队列的时候设置这个元素和对象的过期时间就可以了,过期时间到了,就会从队列中出来.这是需要实现Delayed接口,重写掉ge.

2022-02-18 12:02:30 341

原创 Authenticator 备份密钥/导出

Google Authenticator 备份密钥

2022-02-18 11:35:09 5436 2

php source code

php源代码里面包含 myssql 组件

2015-01-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除