
php
文章平均质量分 58
dreamboycs
这个作者很懒,什么都没留下…
展开
-
php 生成xml及读取xml
xml原创 2022-03-04 15:18:12 · 583 阅读 · 0 评论 -
文件打包下载 (ZipArchive)
使用PHP下载文件的操作需要给出四个header(),可以参考原作者的另一篇博文:PHP如何实现下载功能超详细流程分析,或者点击此处。 计算文件的大小的时候,并不需要先打开文件,通过filesize($filename)就可以看出,如果需要先打开文件的话,filesize可能就会是这样的形式了filesize($filehandle) 向客户端回送数据的是,记得要设置一个buffer,用来指定每次向客户端输出多少数据,如:$buffer=1023。如果不指定的话,就会将整个文件全部写..原创 2021-06-09 10:45:07 · 2228 阅读 · 0 评论 -
php 生成验证码类
<?phpnamespace Mylib;/** * 该类实例化的时候需要3个参数 * $type;//验证码1为数字 2为字母 3为数字加字母 * $width;//验证码的宽,默认值为80px * $height;//验证码的高,默认值为20px * $num;//验证码字符的个数,默认值为4 * $create_code;//验证码字符,可以为空 *//* show_image_code();echo 图片, get_code();获取code,*/cl.原创 2021-05-06 11:24:07 · 219 阅读 · 0 评论 -
php 百度地图 腾讯地图 转换坐标
/** * 中国正常GCJ02坐标---->百度地图BD09坐标 * 腾讯地图用的也是GCJ02坐标 * @param double $lat 纬度 * @param double $lng 经度 */ function Convert_GCJ02_To_BD09($lat,$lng){ $x_pi = 3.14159265358979324 * 3000.0 / 180.0; $x = $lng; $y = $lat; .原创 2020-12-31 10:36:23 · 234 阅读 · 0 评论 -
汉字转换拼音
<?php namespace app\admin\controller;class py_class{ public $pinyin = array( "a" => array(59371, 41648, 50400, 33157, 41392, 18661, 47599), "ai" => array(19697, 32178, 35504, 36856, 20712, 25068, 28663, 26608, 29399, 1938.原创 2020-12-29 16:09:20 · 1661 阅读 · 0 评论 -
像通讯录一样的排序法
1,封装方法/** * [zhcnToPinyin 转换方法] * @param [type] $str [字符串] * @return [type] [description] */ function zhcnToPinyin($str){ if(empty($str)){return '';} $fchar=ord($str{0}); if($fchar>=ord('A')&&$fchar<=ord('z')) return s原创 2020-12-29 14:25:39 · 123 阅读 · 0 评论 -
PHP实现微信开放平台扫码登录源码下载
1、首先到微信开放平台申请https://open.weixin.qq.com/ 获取到appid和APPSECRET,前台显示页面如下<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> </head> <body> <.原创 2020-10-13 17:30:49 · 433 阅读 · 0 评论 -
网站实现微信扫码登录 php==1
微信开放平台账号一个,必须是商户,不然你也开不了1.在开放平台创建应用,并设置回调地址(域名即可)2.生成二维码,前端代码,用户扫码后会给你的回调地址发送code <span id="login_container"></span> <script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script> <scr..原创 2020-10-13 17:28:54 · 390 阅读 · 0 评论 -
php根据时间显示刚刚,几分钟前,几小时前的实现代码
判断信息发布时间距现在的时间差,转换显示成“刚刚”、“几分钟前”、“几小时前”、“昨天”、“前天”。代码如下: <?php/*** php时间转换* edit by www.jbxue.com*/date_default_timezone_set('PRC');$date = "1351836000";echo tranTime($date); function tranTime($time){ $rtime = date("m-d H:i",$t.原创 2020-07-01 22:46:15 · 350 阅读 · 0 评论 -
善用mysql中的FROM_UNIXTIME()函数和UNIX_TIMESTAMP()函数
我们经常会面临要从数据库里判断时间,取出特定日期的查询。但是数据库里储存的都是unix时间戳,处理起来并不是特别友好。幸而MYSQL提供了几个处理时间戳的函数,可以帮助我们在查询的时候,就将时间戳格式化。用法举例如下:1.FROM_UNIXTIME()函数FROM_UNIXTIME(unix_timestamp,format)参数unix_timestamp 时间戳 可以用数据库里的存储时间数据的字段参数format 要转化的格式 比如“”%Y-%m-%d“” 这样格式化之后的时间...原创 2020-07-01 13:06:16 · 269 阅读 · 0 评论 -
【PHP】根据当前时间获取周、月、季度、年的开始和结束时间
// 获取周的开始结束时间 public function actionWeek () { $time = time(); $startTime = strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m", $time),date("d", $time)-date("w", $time)+1-7,date("Y", $time)))); $endTime = strtotime(date(".原创 2020-06-28 15:50:29 · 1214 阅读 · 0 评论 -
常用验证正则:用户名、密码、邮箱、手机号、身份证(PHP和JavaScript)
日常开发中,常常会用到一些简单常用的正则表达式,用于判断一些常见的情况下边,就列出五种(验证用户名,密码强度,邮箱格式,手机号格式和身份证格式)常见的情况分成PHP版本和JavaScript两个版本。其实,两种语言的正则是完全一样的,只是相关函数的使用略有不同。<?php// 验证用户名是否合法,必须是以字母开头,只能包含字母数字下划线和减号,4到16位function checkUserName($username){ if (preg_match('/^[A-Za-原创 2020-06-17 17:49:47 · 1858 阅读 · 0 评论 -
PHP获取今天、昨天、明天的日期
<?php echo "今天:".date("Y-m-d")."<br>"; echo "昨天:".date("Y-m-d",strtotime("-1 day")), "<br>"; echo "明天:".date("Y-m-d",strtotime("+1 day")). "<br>"; echo "一周后:".date("Y-m-d",strtotime("+1 week")). "<br>"; ..原创 2020-06-12 18:03:55 · 444 阅读 · 0 评论 -
php使用邮箱发送验证码
如何注册腾讯企业邮箱https://www.bilibili.com/video/av14351397/如何在项目中使用https://www.bilibili.com/video/av14351961/下面是我自己在采坑的过程中遇到的问题首先我们下载PHPMailer的,下载地址:https://github.com/PHPMailer/PHPMailer将文件部入到我们的TP框架中,放到extend/org中。第一步我们应该准备发送邮箱的账号,我这里用的是腾讯企业邮箱没有原创 2020-05-30 15:41:49 · 1557 阅读 · 0 评论 -
//数组转XML
1.第一种转换方法://数组转XML function arrayToXml($arr) { $xml = "<xml>"; foreach ($arr as $key => $val) { if (is_numeric($val)) { $xml .= "<" . $key . ">" . $val . "</" . $key . ">"; ...原创 2020-05-17 21:05:11 · 231 阅读 · 0 评论 -
thinkphp5指定值进行排序和多条件排序
$contract_types = "2,1,3";$exp = new \think\Db\Expression('field(contract_type,'.$contract_types.')');$tpl = Db::name('contract')->order($exp)->select()//SELECT * FROM `ct_contract` ORDER...原创 2020-04-30 18:47:15 · 3448 阅读 · 0 评论 -
PHP实现SMTP邮件的发送实例
当你还在纠结php内置的mail()函数不能发送邮件时,那么你现在很幸运,此时的这篇文章可以帮助到你!php利用smtp类来发邮件真是屡试不爽,我用过很久了,基本上没出过问题。本博客后台,当博主回复留言时候,会自动给网友发一封有新回复提示的邮件也是用的本文这个方法实现的。smtp类发送邮件的方法其实很简单,也很稳定,类是别人已经写好的了,你只需要调用就行了。几行简单的配置就能发邮件,是不是...原创 2020-04-29 11:57:47 · 681 阅读 · 0 评论 -
php获取linux服务器CPU、内存、硬盘使用率的实现代码
public function get_used_status(){ $fp = popen('top -b -n 2 | grep -E "^(Cpu|Mem|Tasks)"',"r");//获取某一时刻系统cpu和内存使用情况 $rs = ""; // while(!feof($fp)){ // $rs .= fread($fp,...原创 2020-04-09 18:36:14 · 655 阅读 · 0 评论 -
PHP正确获取客户端IP地址
1.获取ippublic function getIp(){ if (!empty($_SERVER["HTTP_CLIENT_IP"]) && strcasecmp($_SERVER["HTTP_CLIENT_IP"], "unknown")) { $ip = $_SERVER["HTTP_CLIENT_IP"]; }...原创 2020-04-01 18:24:50 · 358 阅读 · 0 评论 -
php中使用hash_hmac函数实现HMAC-SHA1签名算法的来龙去脉
前言最近工作中频繁和其他部门甚至公司进行接口上的对接,不免接触到林林总总的签名验权算法。其中属HMAC-SHA1签名算法最多,刚开始接触的时候我也觉得有一点懵,慢慢搞清楚了原理,所以在这里跟大家如何理解这种签名算法中涉及到的各种各样的东西。扫盲:首先做个简单的扫盲1、md5(md家族)Message Digest Algorithm 缩写为MD,消息摘要算法,一种被广泛使...原创 2020-03-30 23:48:18 · 840 阅读 · 0 评论 -
tp5 如何引用 自定义类 extend
1.在入口文件中添加define('EXTEND_PATH', __DIR__ .'/../extend/');2.在extend 中添加自定义文件myClass命名空间要写文件加的名称lib3. 调用自定义类4.运行了第二种 使用Loader :1、在extend文件夹下面放extend/lib/myClass.php文件;2、在applica...原创 2020-03-30 22:47:15 · 1372 阅读 · 0 评论 -
HTML上传excel文件,php解析逐条打印输出
HTML===demo<!DOCTYPE html><html lang="zh"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="https://ajax.aspnetcd...原创 2020-03-15 11:14:01 · 439 阅读 · 0 评论 -
ThinkPHP 3.2.3 使用 PHPExcel 类库导入xls/xlsx,导入带图片的xls/xlsx
在使用的地方 使用Vendor() 引入 /** * 数据导入 * @param string $file excel文件 * @param string $subtype 节点id * @return string 返回解析数据 * @throws PHPExcel_Exception * @throws PHPExcel...原创 2020-03-12 11:18:38 · 441 阅读 · 0 评论 -
前端调用后端接口下载excel文件的几种方式
今天有一个导出相应数据为excel表的需求。后端的接口返回一个数据流,一开始我用axios(ajax类库)调用接口,返回成功状态200,但是!但是浏览器没有自动下载excel表,当时觉得可能是ajax的安全性问题导致无法下载。下面列觉两种我测试成功的方式:1.window.location.href = ‘接口地址’ 含义:当前页面打开URL页面. 和在浏览器输入接口地址一样,可以下载...原创 2020-03-09 23:07:23 · 2147 阅读 · 0 评论 -
PHPExcel在Thinkphp中的使用,列宽度可定义
namespace app\admin\controller;###引入文件class EvaluateController extends Controller{/*** 导出用户评价到excel*/public function dumpLogsExcel(){//查询数据$where[‘member_card’] = 123456;xlsData=Db::name(′ev...原创 2020-03-08 19:18:43 · 646 阅读 · 0 评论 -
PHP的日期操作 增加减少(一个月以内)
PHP的日期操作 增加减少(一个月以内)2011-9-20 13:49 | 标签 php date | 浏览 231评论 0date('Y-m-d', strtotime("-30 days")) ; //30天前<?php$date1="2011-08-09";echo date('Y-m-d',strtotime("$date1 +5 day")); //相应地,要增...原创 2020-01-15 10:28:19 · 1016 阅读 · 0 评论 -
给MD5加上salt随机盐值加密算法实现密码安全的php实现
给MD5加上salt随机盐值加密算法实现密码安全的php实现如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码。加上salt后就会难上很多可以一定程度上解决问题,即便是黑客获得了其中的salt和最终密文,破解也是相当麻烦的。PS:一般都是加密后的数据再存入到数据库的,安全的数据是不可逆的,即数据库里面的数据即使...原创 2019-12-28 15:12:20 · 687 阅读 · 0 评论 -
【ci框架】CI 框架数据库操作函数 this->db->where() 的使用
CI 框架数据库操作函数 this->db->where() 的使用1)$this->db->where(‘MATCH (field) AGAINST (“value”)’, NULL, FALSE) 如果把$this->db->where() 接受可选的第三个参数设置为 FALSE, CodeIgniter 将不会为那些包含反勾号的字段名或表...原创 2019-12-26 16:38:08 · 338 阅读 · 0 评论 -
PHP添加图片水印、压缩、剪切的封装类
给图片添加水印,其实就是把原来的图片和水印添加在一起,下面小编把最近整理的资料分享给大家。php对图片文件的操作主要是利用GD库扩展。当我们频繁利用php对图片进行操作时,会自然封装很多函数,否则会写太多重复的代码。当有很多对图片的相关函数的时候,我们可以考虑将这些函数也整理一下,因而就有了封装成类的想法。 操作图片主要历经四个步骤: 第一步:打开图片...原创 2019-12-19 14:06:12 · 196 阅读 · 0 评论 -
菜鸟学习laravel框架之ajax请求
1、如果是form表单的,注意_token字段,form表里可以写 {{ csrf_field() }}或者<input type="hidden" name="_token" value="'.csrf_token().'">2、在页面上添加<meta name="csrf-token" content="{{ csrf_token() }}">2...原创 2019-12-04 17:52:51 · 147 阅读 · 0 评论 -
Laravel 公共文件方法
aravel框架中封装公共方法1.第一步创建 functions.php在 app/Helpers/(目录可以自己随便来)下新建一个文件 functions.php,在内部补充如下代码。<?php/**公用的方法 返回json数据,进行信息的提示@param $status 状态@param string $message 提示信息@param array $da...原创 2019-12-04 13:55:04 · 1046 阅读 · 0 评论 -
php 阿里云 oss 图片上传- thinkphp5整套流程
一、这里演示手动引入方法,因为这个会了基本原理就清晰了!(compose安装的默认安装在vendor目录下面,按下面方面走,路径变一下就OK了)1、下载后解压-重新命名(我命名为aliyun_oss)2、引入到项目里:复制上面文件到extend/org下面,如果是composer安装会自动创建在vendor目录下面3、在入口文件index.php文件里引入自动加载文件 au...转载 2019-03-31 22:34:42 · 746 阅读 · 0 评论 -
ThinkPHP5整合phpqrcode生成网址二维码 ( 简单易懂实测可用 )
.下载二维码插件Phpqrcode,地址 https://sourceforge.net/projects/phpqrcode/files/,把下载的文件夹放到\thinkphp\vendor下2.在公共函数库添加函数create_qrcode();function create_qrcode(){ vendor("phpqrcode.phpqrcode"); $data...原创 2019-10-10 11:52:18 · 696 阅读 · 0 评论 -
ThinkPHP5整合阿里云oss
【分享】ThinkPHP5整合阿里云oss浏览:11716发布日期:2016/12/24分类:ThinkPHP5专区 关键字:thinkphp5OSS整合社区推荐:阿里云3月采购季活动已开启,爆款云服务器低至5折,推荐新人购买即可获得25%返现。水冷眸目前手中的一个项目,用得Thinkphp5.0.4制作的,基于访问速度、容灾备份,以及受攻击迅速切换等各方面考虑,程序...转载 2019-03-31 22:27:23 · 712 阅读 · 0 评论 -
PHP安装BCMath扩展
PHP的linux版本需要手动安装BCMath扩展,在PHP的源码包中默认包含BCMath的安装文件,只需手动安装一次即可。 编译安装 1.进入PHP源码包目录下的ext/bcmath目录。 2.执行phpize命令,phpize命令在PHP安装目录的bin目录下,如/usr/local/php-5.6.36/bin/phpize。 ...原创 2018-12-11 13:48:15 · 5837 阅读 · 0 评论 -
php 生成唯一订单号4种方法
php生成唯一订单号的方法 第一种:$danhao = date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT); 第二种:$danhao = date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, ...原创 2018-12-06 14:27:05 · 1256 阅读 · 1 评论 -
PHP Ajax 跨域问题最佳解决方案
本文通过设置Access-Control-Allow-Origin来实现跨域。例如:客户端的域名是client.runoob.com,而请求的域名是server.runoob.com。如果直接使用ajax访问,会有以下错误:XMLHttpRequest cannot load http://server.runoob.com/server.php. No 'Access-Control...转载 2018-10-29 19:07:34 · 110 阅读 · 0 评论 -
PHP函数判断移动端和PC端
/*移动端判断*/ function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } // 如果via信息含...转载 2018-09-27 14:28:04 · 359 阅读 · 0 评论 -
PHP实现redis限制单ip、单用户的访问次数功能
<?php$redis = new Redis();$redis->connect('127.0.0.1', 6379);$redis->auth("php001");//这个key记录该ip的访问次数 也可改成用户id//$key = 'userid_11100';$key=get_real_ip();//限制次数为5$limit = 5;$check = $...转载 2018-09-14 19:08:50 · 460 阅读 · 0 评论 -
PHP 多维数组排序 array_multisort()
用PHP自带array_multisort函数排序 <?php $data = array(); $data[] = array('volume' => 67, 'edition' => 2); $data[] = array('volume' => 86, 'edition' => 1); $data[] = array('...原创 2018-08-27 17:07:42 · 148 阅读 · 0 评论