php
kirsten_z
一步一脚印
展开
-
如何微信公众号中添加带emoji表情的文字,并将emoji表情存储在utf8的数据库中
1、公众号中添加带emoji表情的文字 表情代码参考文档: 1)微信Emoji: http://www.tpy10.net/emo/ 2)QQ表情:https://blog.csdn.net/lyq8479/article/details/9229631 示例: weixin.php – 存储公众号回复文案//存储在lang/weixin.php -- 用户存储微信公众号回复文案r...原创 2018-05-08 14:29:07 · 6636 阅读 · 0 评论 -
文件上传问题总结
$_FILES为空原因:1)表单类型,表单编码类型enctype=”multipart/form-data”,大数据传送使用post方式提交2)PHP设置问题,PHP默认的post_max_size=2M,若post数据大于设定的值,POST,_POST,_FILES则为空:需要修改php.ini里的max_execution_time,设为0或者php文件头设置ini_set(‘max_exec原创 2016-09-12 17:05:41 · 213 阅读 · 0 评论 -
PHP 设计模式
策略模式 处理程序算法与其他算法之间的互换 实现方式:声明一个抽象的拥有一个算法方法的基类来实现,通过继承基类的具体类来实现单例模式 解决的是如何在整个项目中创建唯一对象实例的问题 1)一个保存类的实例的静态成员变量,静态私有变量,eg: $_instance 2)构造函数–private,防止外部new类,消耗内存,单例类只能被自身实例化 3)一个访问该实例的公共静态方法,e原创 2016-09-12 17:33:28 · 289 阅读 · 0 评论 -
PHP常用文件操作函数
basename()返回路径的文件名部分 dirname()返回路径的目录部分 file_get_contents(‘text.txt’) 函数把整个文件读入一个字符串中。file_put_contents(‘text.txt’,$str) 函数把一个字符串写入文件中。filesize(‘test.xml’) 函数返回指定文件的大小。 若成功,则返回文件大小的字节数。若失败,则返回 false转载 2016-09-18 15:30:24 · 306 阅读 · 0 评论 -
用户id hash加密
效果:加密用户id,防止id泄露/** * 用户ID加密 hashid checkid 算法 */function hashUser($user, $downloadKey='') { if (empty($user)) { return '0'; } $crc = intval(sprintf('%u', crc32($downloadKey . "原创 2016-09-20 17:49:00 · 1413 阅读 · 0 评论 -
laravel--常用全局函数
常用的全局函数,放置于app/include/global.func.php//写入错误日志function myLog($filename, $content) { $handle = fopen($filename, 'a'); fwrite($handle, date('[Y-m-d H:i:s] ') . $content . "\n"); fclose($hand原创 2016-09-20 17:55:58 · 991 阅读 · 0 评论 -
微信公众号开发
关注微信公众号,发送消息给微信公众号,点击自定义菜单显示效果微信公众号开发示例:use Illuminate\Support\Facades\Schema;use Illuminate\Support\Facades\Redirect;interface weixin{ public function getIndex(); //入原创 2016-09-20 18:05:26 · 426 阅读 · 0 评论 -
PHPMailer 发送邮件
发送邮箱代码示例://转发邮箱require ( './index.php' );$str = " <p>".$username.",您好:</p> <p></p> <p>".$truename.",已发送邮件到您的邮箱</p> <p></p>";$subject = $username."您好!xxx回信了!";sendmail($email , $subj原创 2016-11-02 15:47:01 · 541 阅读 · 0 评论 -
laravel数据批量操作
1、批量更新 使用case when 拼sql 参照网址: http://www.cnblogs.com/bruceleeliya/p/3310137.html 2、数据库操作三种方式 参照网址: http://blog.csdn.net/zls986992484/article/details/52824962 3、转载 2016-12-30 10:15:38 · 2565 阅读 · 0 评论 -
php 常用方法效率比较
数组问题 foreach与for 效率比较 foreach 快于 for 这是大家都明白的。 不仅如此。如果真的用for ,你这样写是最好的 for(i=0,i=0,j=count(array);array);i<j;j;i++){ } 前面说了,数组用来做字串拼接,会慢,因为,你走了两循环。但很多操作,如果能用数组协助完成,则会很快。 比如:array_mar(‘trim’,$arra转载 2017-01-09 14:27:49 · 604 阅读 · 0 评论 -
ajax实时更新数据
实现功能: 显示试题结果,并实时更新各题各选项选择人数 效果如图:示例代码:控制器 SurveyController.php public function getResult($id){ $oSuvey = Suvey::find($id); if(!$oSuvey){ etun json_encode(array('success'=>原创 2017-02-24 14:16:09 · 8871 阅读 · 0 评论 -
php AES 加解密方法使用函数了解
1、php中关于mcrypt加密的一些函数 1)mcrypt_get_iv_size — 返回指定算法/模式组合的初始向量大小int mcrypt_get_iv_size ( string $cipher , string $mode )2)mcrypt_list_algorithms – mcrypt支持的加密算法列表 3)mcrypt_list_modes() – mcrypt支持的加密模原创 2017-03-02 11:16:50 · 949 阅读 · 0 评论 -
php获取加密url参数乱码问题处理
1、base64_encode — 使用 MIME base64 对数据进行编码 为了使二进制数据可以通过非纯 8-bit 的传输层传输,例如电子邮件的主体。 Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。 Base64-encoded 数原创 2017-03-09 17:39:59 · 1096 阅读 · 0 评论 -
用户实际Ip获取
在项目中,经常会有记录浏览日志的时候,同时需要记录客户端真实ip,主要判断客户端是否使用代理的情况相关函数介绍:1、$_SERVER和getenv的区别:getenv不支持IIS的isapi方式运行的php2、HTTP_CLIENT_IP:可通过http头伪造, 是代理服务器发送的HTTP头。如果是“超级匿名代理”,则返回none值。同样,REMOTE_ADDR也会被替换为这个代理服务器的IP。原创 2017-03-13 10:45:25 · 309 阅读 · 0 评论 -
eclipse php 快捷键
Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提 供一个全功能的、具有商业品质的工业平台。转载 2016-09-12 14:33:38 · 890 阅读 · 0 评论 -
phpcms日期--汉字与数字的转换
效果界面月份数 显示 汉字,参数传入 数字查询返回数据时,返回数字,界面显示 汉字示例:controllercase 'show'://个人积分来源显示 //获取个人积分页面信息 $year = isset($year) ? intval($year) : date('Y'); $month = isset($month) ? intval($month) : date原创 2016-09-19 17:48:33 · 766 阅读 · 0 评论 -
php使用IP匹配城市信息
1、首先需要获取用户的真实ipfunction ip(){ if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')){ $ip = getenv('HTTP_CLIENT_IP'); }elseif(getenv('HTTP_X_FORWARDE...原创 2018-03-29 17:31:56 · 441 阅读 · 0 评论 -
php curl 请求携带header参数
1、cURL设置项简介: 参考文档:http://php.net/manual/zh/function.curl-setopt.php 注: CURLOPT_HTTPHEADER 设置 HTTP 头字段的数组。 格式: array('Content-type: text/plain', 'Content-length: 100')2、示例: 参考文档:/** * curl...原创 2018-03-22 17:28:19 · 29759 阅读 · 0 评论 -
laravel 5.2 使用SimpleQrCode扩展包生成二维码图片
1、首先需要安装simplesoftwareio扩展包 详情参考文档:http://blog.csdn.net/kirsten_z/article/details/79654968 2、生成二维码图片 示例:use SimpleSoftwareIO\QrCode\Facades\QrCode;//引入Qrcode类/** * 生成二维码图片 * @param $ur...原创 2018-03-22 16:15:07 · 1836 阅读 · 0 评论 -
laravel 5.2 框架与vendor扩展包安装使用心得
1、laravel 5.2 框架安装 1)可直接下载安装包 laravel框架下载网址:https://github.com/laravel/laravel 2)通过composer命令下载 具体可根据手册进行安装:https://laravel-china.org/docs/laravel/5.2/installatio2、vendor扩展包安装 1...原创 2018-03-22 15:35:00 · 5494 阅读 · 0 评论 -
php zip压缩包下载
说明 实现效果:使用php压缩目标目录成zip文件,并下载 环境框架:laravel 5.1 php 5.6 示例 逻辑处理片段代码:use ZipArchive;//此处需要引入ZipArchive类/** * 文件夹打包下载 * @param Request $request */public function Down(Request $requ原创 2018-01-15 15:13:27 · 2264 阅读 · 0 评论 -
第三方分享实现
实现:使用第三方工具,实现分享 示例:<div class="jiathis_style"> <span class="jiathis_txt">分享到:</span> <a class="jiathis_button_icons_1" onclick="alert(123)"></a> <a class="jiathis_button_icons_2"></a>原创 2017-12-27 16:57:48 · 497 阅读 · 0 评论 -
微擎框架简介与简单运用
1、简介 微擎是基于目前最流行的WEB2.0的架构(php+mysql),运行环境推荐使用linux(centOS)+ nginx + php5.3,mysql5.6。2、实践示例 1)公众测试号绑定 系统管理=》微信公众号=》添加公众号=》手动添加公众号 a)填写公众号信息 – 类型选择,选择认证号权限更大 – AppId,AppSecret与测试号保持一致 b)接入原创 2017-12-06 15:05:25 · 30461 阅读 · 0 评论 -
添加分享统计
说明: 1)效果:统计用户每次分享的信息 2)环境:wamp 3)框架:laravel 示例: html<div>分享页</div><?php //APP_ROOT app路径 require_once APP_ROOT.'/include/Jssdk.class.php'; $jssdk = new JSSDK(APPID, APPSEC原创 2017-11-13 17:56:29 · 512 阅读 · 0 评论 -
sphinx中文检索引擎coreseek+php+mysql搭建
coreseek下载官网地址:Windows参考:http://www.coreseek.cn/products-install/install_on_windows/Linux参考:http://www.coreseek.cn/products-install/install_on_bsd_linux/ 注:注意根据自己的环境配置选择合适的版本下载安装将安装包解压到自原创 2017-11-08 15:53:32 · 1315 阅读 · 0 评论 -
phpstorm 安装xdebug
phpstorm 安装xdebug,帮助程序调试 1、xdebug下载官网:https://xdebug.org/download.php 说明 1)带”ts”是线程安全的意思,”nts”的没有标示,即 nts的要下载没标示的,而下载的文件名其实是有标示的 2)下载时,需要注意两点Apache是32位的还是64位的,针对版本系统兼容性选择xdebug版本Apache版本原创 2017-08-30 15:51:56 · 382 阅读 · 0 评论 -
实现多图批量上传
说明 最近做的一个项目,类似贴吧,用户可发表言论,并上传图片,涉及多图批量上传问题,由于设计图已订好的缘故,插件不太好使用,综合前人经验,自我总结整理出一个比较简单的方法,有利有弊,后期慢慢改良~示例style.css@charset "utf-8";/* CSS Document */body{ font:12px/24px "Microsoft YaHei","微软雅黑"; color:#6原创 2017-08-16 18:09:25 · 10323 阅读 · 2 评论 -
PHP 四种基础算法
冒泡排序 思路:每次循环排列出一个最大的数 选择排序 思路:每一趟在n-i+1(i = 1,2,…,n-1)个记录中选择关键字最小的记录作为有序序列中第i个记录,其中最简单的是简单选择排序,其过程如下:通过n-i次关键字间的比较,从n-i+1个记录中选择出关键字最小的记录,并各第i个记录交换之。 插入排序 思路:通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插原创 2016-09-12 17:44:43 · 8466 阅读 · 0 评论 -
phpcms文件存储数据
效果快速读取数据定时刷新数据即时替换数据示例1(phpcms框架) 定时 查询参与答题总人数content.class.php//获取活动每期参与答题人数function get_personnum_by_time($tb1, $tb2){ $filename = PHP_ROOT."/uploadfile/json/personnum.json"; /* //生成文件原创 2016-09-19 16:09:53 · 309 阅读 · 0 评论 -
微信订阅号确定唯一用户
问题:微信子菜单类型为view,在详情页需要记录用户点赞数,以此确定唯一性,而订阅号无法通过网页获取用户的openid,需通过第三方获取 示例: 一些常用预定义常量://预定义常量define('SCHEME', $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://');define('SCRIPT_NAME', isset($_S原创 2017-03-24 15:35:13 · 549 阅读 · 0 评论 -
$.ajaxFileUpload上传文件出现错误...问题总结
**加载报错:**ajaxfileupload.js:1 Uncaught ReferenceError: jQuery is not defined ** 上传报错:**Uncaught TypeError: $.ajaxFileUpload is not a function 原因: jquery.js,ajaxfileupload.js加载顺序不正确,应先加载 jquery.js,再加载a原创 2017-03-22 14:13:13 · 14232 阅读 · 0 评论 -
instanceof
作用:判断一个对象是否是某个类的实例;判断一个对象是否实现了某个接口代码格式:实例名 instanceof 类名特点:可同时处理多个对象原创 2016-09-12 17:50:35 · 214 阅读 · 0 评论 -
并发请求
PHP并发请求种类若干个客户机 —— Web 浏览器 —— 可以同时请求同一个 PHP 解释的页面,而 Web 服务器将差不多同时返回所有这些页面,一个 Web 页面不会妨碍其他 Web 页面的发送,尽管可能会由于诸如服务器内存或网络带宽之类的受限资源而使它们相互之间略有妨碍ajax响应用户请求PHP/TK 允许用 PHP 编写代码构造桌面 GUI 应用程序如何解决网站大流量与高并发问题原创 2016-09-12 17:50:05 · 494 阅读 · 0 评论 -
PHP抽象类和接口
应用要点 1)子类必须完全实现抽象的所有方法 2)不能从抽象类创建对象,不能被直接实例化 3)抽象类通常具有抽象方法,方法没有大括号 4)子类实现抽象类的方式是,可见性要大于或等于抽象方法的定义 5)子类实现的方法参数与父类一致规则 1)某个类只要有一个抽象方法,就必须声明为抽象类 2)抽象方法,不能含有函数体 3)继承抽象类的子类,若不是想所有抽象方法,也为抽象类 接口原创 2016-09-12 17:39:57 · 252 阅读 · 0 评论 -
PHP 状态码汇总
1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。代码 说明 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部 分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。2xx (成功)表示成功处理了请求的状态代码。代码 说明 200 (成功) 服务器已成功处转载 2016-09-12 17:35:49 · 2339 阅读 · 0 评论 -
BOM
含义: 1)一个字节顺序标签,类似一个标记 2)有bom头的存储或字节流,一定是unicode字符集编码 3)在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码 4)BOM —— Byte Order Mark,缺省在Windows等平台上编辑的UTF8文件会在头部增加3个字节的标记信息,我们PHP引擎在处理的时候会完整读取整个PHP代码文档, 如果PHP转载 2016-09-12 17:20:58 · 174 阅读 · 0 评论 -
php编程规范
应该之定义类,函数,常量等声明,或其他会产生 副作用 的操作(如:生成文件输出以及修改 .ini 配置文件等),二者只能选其一;类的命名必须遵循 大写开头的驼峰 命名规范类中的常量所有字母都必须大写,单词间用下划线分割方法名必须符合 小写开头的驼峰 命名规范代码必须使用 4个空格符 进行缩进每个 namespace 命名空间声明语句和 use 声明语句块后面,必须 插入一个空白行。原创 2016-09-12 17:16:49 · 601 阅读 · 0 评论 -
sql防注入攻击与xss攻击
SQL注入简介 sql注入及时攻击者将sql命令插入到web表单的输入域或页面请求的查询字符串,欺负服务器执行恶意的sql命令方法 1)验证数据,根据相应类型进行严格的验证 字符,先通过sprintf函数格式化输出,再通过一些安全函数去掉一些不合法的字符,如addslashes()方法等 2)参数化绑定,PHP 中的 mysqli 和 PDO 可实现参数绑定 参考文档: http转载 2016-09-12 17:12:19 · 791 阅读 · 0 评论 -
php数组函数
排序函数array_walk($arr , callback),用户自定义函数,对数组中的每个元素做回调处理callback function(arr[arr[i], $i),回调函数两个参数,一个值,一个键值sort(),按值 低–>高 排序,rsort()反之 键值与值皆重新排序asort() ,按值 低–>高 排序,arsort()反之 保持索引关系 a-z、0-9…原创 2016-09-12 17:04:59 · 202 阅读 · 0 评论 -
字符串部分常用函数
addslashes() 使用反斜线引用字符串htmlentities() 函数把字符转换为 HTML 实体htmlspecialchars() 函数把预定义的字符转换为 HTML 实体nl2br() 在字符串所有新行之前插入 HTML 换行标记sprintf(format,format, args) 函数把格式化的字符串写入变量中str_replace( search,sear原创 2016-09-12 16:57:02 · 232 阅读 · 0 评论