php
longzai89757
一只期待满满的虾米
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
php strtotime 获取本周一时间戳
本周一的时间戳strtotime( "previous monday" );strtotime('monday -6 day',time()//当前时间的周一时间戳 strtotime('monday');//下周一时间戳其他常用的:strtotime('today'); //今天strtotime('next monday'); //下个周一strtotime('last Friday'); /...原创 2018-06-27 11:32:02 · 9953 阅读 · 0 评论 -
文本框改变事件,使用递归ajax思想
偶然的机会要用ajax获取后台多个数据的价格来更新页面数据,就写了这个,发现了ajax的递归写法,虽然最后没用上,但还挺有意思的,这个好处就是,数据库数据更新的话 就能随之改变,但在服务器反应方面很不尽人意,可能以后用到的不多,仅此记录。 $(document).ready(function(){ $("input[name='price']").bind('in原创 2017-12-25 18:07:02 · 316 阅读 · 0 评论 -
阿里云视频点播接口开发
这个视频点播接口,做完,才发现原来做的阿里云短信接口有点运气了,也可能是阿里云的文档太乱,给的短信接口的sdk是链接到了demo文档,点播接口的sdk是sdk文件,还是sdk里面的文件内容,让人很摸不到头脑,经过摸索,发现阿里的文档还是不错的,虽然有些sdk链接很不对,让人错乱 看到这我知道上次的短信接口有点运气了,上次的是demo文档 直接封装好的,拿来就能用,单本质还是这些sdk原创 2017-12-29 16:28:59 · 6702 阅读 · 6 评论 -
新版阿里云短信接口调用
今天项目需要用到阿里云的短信接口,看了文档,感觉文档说的不详细,demo也是有点乱,找了资料,发现说是今年新改版的,费了点劲,弄好了,阿里的这个短信接口调用比其他的短信接口麻烦点,但更安全点; 前面的申请签名和模板,添加一个秘钥就不说了; 首先,把下载的demo里面的api_sdk文件放入到Vendor文件夹(tp框架,其他框架放在自己的引入外部类文件夹就行),里面, 然后可以写一个原创 2017-11-13 19:00:09 · 7133 阅读 · 2 评论 -
PHP检测ajax 请求
//PHP检测 ajax 请求 //大多数的 JavaScript 框架如 jquery,Mootools 等,在发出 Ajax 请求时,都会发送额外的 HTTP_X_REQUESTED_WITH 头部信息,头当他们一个ajax请求,因此你可以在服务器端侦测到 Ajax 请求。 if(!emptyempty($_SERVER['HTTP_X_REQUESTED_WITH'原创 2018-02-02 13:11:05 · 325 阅读 · 0 评论 -
PHP调整图像尺寸
function resize_image($filename, $tmpname, $xmax, $ymax) { $ext = explode(".", $filename); $ext = $ext[count($ext)-1]; if($ext == "jpg" || $ext == "jpeg") $im原创 2018-02-02 13:13:19 · 376 阅读 · 0 评论 -
PHP文件Zip压缩和解压缩
PHP文件 Zip 压缩 /* creates a compressed zip file */ 注意:开启PHP zip压缩扩展extension=php_zip.dll function create_zip($files=array(),$destination='' ,$overwrite=false) { //if the zip fi原创 2018-02-02 13:19:31 · 4587 阅读 · 0 评论 -
PHP删除文件目录
删除一个目录,包括它的内容。 /***** *@dir - Directory to destroy *@virtual[optional]- whether a virtual directory */ function destroyDir($dir, $virtual = false) { $ds = DIRECTORY_SEPARATOR原创 2018-02-02 13:22:07 · 224 阅读 · 0 评论 -
PHP根据中心经纬度和半径画圆圈得出的最大最小经纬度
/** * 根据中心经纬度和半径画圆圈得出的最大最小经纬度 * @param lon 经度 * @param lat 纬度 * @param raidus 半径距离单位米 */ public function getAround($lon,$lat,$raidus){ $pai = 3.14159265翻译 2018-02-02 13:24:56 · 1678 阅读 · 0 评论 -
PHP根据经纬度计算两点之间距离
/** * Description: 计算两点之间距离 * @param slng 起始经度 * @param slat 起始纬度 * @param elng 结束经度 * @param elat 结束纬度 * @return 千米 */ public function get翻译 2018-02-02 13:26:03 · 858 阅读 · 0 评论 -
复制文件、文件夹并替换内容
/** * 复制PHP文件 * $name 控制器名称 */function copyPhpFile($name){ $phpfile = file_get_contents(__DIR__.'\admin\controller\Lists.php'); $table_change = array('Lists'=>$name); $phpfile = strtr($ph...原创 2018-03-26 15:32:49 · 1698 阅读 · 0 评论 -
$HTTP_RAW_POST_DATA的高版本使用
偶遇一次清除缓存的ajax操作,php报错: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php原创 2017-12-25 18:03:35 · 1200 阅读 · 0 评论 -
foreach求和的效率和连接mysql的sum求和的效率
范例: /** * 更新项目进度1 使用foreach循环求和 */ public function save_pro_finish_proportion1($pid){ $list = $this->model_model->where('pid',$pid)->field('id,finish_proportion,weight')->...原创 2018-06-27 11:34:02 · 3692 阅读 · 0 评论 -
tp验证器多项验证+正则
<?phpnamespace app\index\validate;use think\Validate;class Comments extends Validate{ protected $regex = [ 'zip' => '/^1[3|4|5|8][0-9]{9}$/']; protected $rule = [ 'name' => 'requ...原创 2018-06-27 13:20:59 · 1298 阅读 · 0 评论 -
本周一的时间戳
本周一的时间戳 strtotime('this week Monday',time()); date("Y-m-d", strtotime(date('o-WW'))); strtotime('monday');//下周一时间戳 其他常用的: strtotime('today'); //今天 strtotime('next monday'); //下个周一 str...原创 2018-09-18 11:27:43 · 839 阅读 · 0 评论 -
分享一些时间处理函数
<?php class Time { /** * 返回今日开始和结束的时间戳 * * @return array */ public static function today() { return [ mktime(0, 0, 0, date('m'), date(...转载 2018-09-18 11:30:06 · 259 阅读 · 0 评论 -
tp3.2版本路由设置
tp3.2版本路由需要设置两个地方,第一个config.php配置URL_ROUTER_ON开启,URL_ROUTE_RULES路由转换; 第二个tp框架自带的functions中的u函数。 配置设置: 'DEFAULT_MODULE' => 'Home', //默认模块 'URL_MODEL' => '2', //URL模式 ...原创 2019-01-21 12:06:40 · 4481 阅读 · 0 评论 -
tp5同一个实例里面多次新增数据
官网给出的方法是 注意不要在同一个实例里面多次新增数据,如果确实需要多次新增,那么可以用下面的方式: $user = new User; $user->name = 'thinkphp'; $user->email = 'thinkphp@qq.com'; $user->save(); $user->name = 'onethink'; $user->e...原创 2019-03-21 11:59:55 · 1556 阅读 · 0 评论 -
获取最近七天所有日期、汉字星期
/** * 获取最近七天所有日期 */ public function get_weeks($time = '', $format='Y-m-d'){ $time = $time != '' ? $time : time(); //组合数据 $date = []; for ($i=0; $i<7; $i++){...原创 2019-03-21 12:01:06 · 994 阅读 · 0 评论 -
替换数组指定键名、键值
$param = $this->request->param(); json_decode(str_replace("id","s_t_id",json_encode($param)),true);原创 2019-03-21 13:04:45 · 2741 阅读 · 0 评论 -
php使用递归输出为null解决
/** * 获取 面包屑 栏目 */ function getNavBread($id,$nav_name='') { $one=Db::name('user_rule')->where("id",$id)->find(); if($one['pid']!=5){ if(!$nav_name){ $h...原创 2019-03-21 13:06:53 · 509 阅读 · 0 评论 -
in_array函数的效率测试和二分法初测
看到一个关于二分法查找的Java版本,想看能不能优化一下in_array函数,没想到测试结果要为in_array函数正名。 class Test { /** * 获取当前时间戳(毫秒级) * @return float */ function microtime_float(){ list($原创 2017-11-09 15:51:29 · 399 阅读 · 0 评论 -
数组排序
方法一 : /* $array_name:传入的数组; $row_id:数组想排序的项; $order_type:排序的方式,ASC或者DESC; */ function array_sort($array_name,$row_id,$order_type){ $array_temp=array(); foreach($array_name as原创 2017-11-06 14:48:50 · 417 阅读 · 0 评论 -
tp指定id排序
这个是一个例子: $busid = $info['busid'];//值为'9,5,3,6'这种 $bus=M('bus')->where(array('cityid'=>$info['cityid']))->field('id,name')->limit(0,$this->bus_count)->order("FIELD (id,$busid) desc"原创 2017-11-07 11:19:17 · 2664 阅读 · 0 评论 -
获取服客户端ip
tp封装的获取服客户端ip方法,挺实用的转载 2017-11-07 11:26:26 · 243 阅读 · 0 评论 -
字数限制截取
/** * 字数限制截取 * 在字数不多余情况下不加... * */ function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true){ if(mb_strlen($str,$charset)>$length){ if(function_exists("mb_原创 2017-11-07 11:35:26 · 385 阅读 · 0 评论 -
获取url参数名
//获取url参数名 function getKeyValue($url) { $result = array(); $mr = preg_match_all('/(\?|&)(.+?)=([^&?]*)/i', $url, $matchs); if ($mr !== FALSE) { for ($i = 0; $i转载 2017-11-07 11:37:16 · 255 阅读 · 0 评论 -
post和get传输速度比较
post和get传输速度:经过测试,他们传输速度基本相同, 而且也可以从curl请求来理解他们,curl请求都是要向目标地址发送以一个包,头部和主体谁也不缺,基本上传输速度是不变的,在电脑配置恒定情况下 但post比get多了一个封包的过程,可能造成了人们多消耗的时间在于封包,而并非是因为请求,这个时间依据电脑配置, 所以我的理解是低配置get好点,高配置就随意了原创 2017-11-08 11:49:02 · 8064 阅读 · 0 评论 -
微信支付生成二维码方法封装
/** * 微信支付 * @param $out_trade_no [商户自己的订单号码注意唯一] * @param $body [商品描述] * @param $attach [附加数据] * @param $total_fee [付款金额] * @param $notify_url [通知地址] */ function WxcodePay($out_t原创 2017-11-08 12:00:01 · 1980 阅读 · 2 评论 -
支付宝支付二维码收银台封装
/** * 支付宝支付 * @param $out_trade_no [商户自己的订单号码注意唯一] * @param $subject [订单名称] * @param $body [订单描述] * @param $total_fee [付款金额] * @param $notify_url [服务器异步通知页面路径] * @param $return_ur原创 2017-11-08 13:02:16 · 1811 阅读 · 0 评论 -
PHP冒泡排序
冒泡排序算法的运作如下: 1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3、针对所有的元素重复以上的步骤,除了最后一个。 4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 冒泡排序最好的时间复杂度为0(n) 冒泡排序最坏的时间复杂度为0(n2)原创 2017-11-08 16:57:22 · 252 阅读 · 0 评论 -
循环体内判断是否拖慢速度
上一章的冒泡算法引申一个思考,做了实验 先判断$order 还是先循环好 实验一: class Test { public function sortlist($ary,$order='ASC') { if ($order=='ASC'){ for ($i = 0; $i //执行co原创 2017-11-08 17:02:24 · 808 阅读 · 0 评论 -
导出Excel封装
/** * 导出exsl * */ function exportExcel($expTitle,$expCellName=array(),$expTableData){ $xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名称 $fileName = $expTitle;//or $xlsTitle 文件名转载 2017-11-06 17:53:40 · 411 阅读 · 0 评论 -
PHP生成二维码
调用: $save_path = './Uploads/QRcode/'; $web_path = '/Uploads/QRcode/'; // $currentUrl = "http://".$_SERVER["HTTP_HOST"].(($_SERVER["SERVER_PORT"]==="80")?"":$_SERVER["SERVER_原创 2017-11-09 17:02:25 · 300 阅读 · 0 评论 -
获取文字星期天时间
function getNowDate(){ $top['date'] = date('Y.n.j',time()); if(date('w',time())=='1'){$topWeek="星期一";}; if(date('w',time())=='2'){$topWeek="星期二";}; if(date('w',time())=='3'){原创 2017-11-06 14:50:51 · 264 阅读 · 0 评论 -
pdo连接数据库
const USER ='root'; //数据库连接用户名 const PASS='root'; //对应的密码 const DSN ="mysql:host=localhost;dbname=databasename"; class Db{ //保存实例的私有静态变量 private static $conts;原创 2017-11-06 14:55:09 · 293 阅读 · 0 评论 -
转换一个String字符串为byte数组
/** * 转换一个String字符串为byte数组 * @param $str 需要转换的字符串 * @param $bytes 目标byte数组 * @author Zikie */ public function getBytes($string) { $bytes = array();转载 2017-11-06 14:57:34 · 1229 阅读 · 0 评论 -
des加解密
注意:必须要开启php的一些配置或者自定义某些函数 /** * DES加密(java兼容模式,密文转为十六进制字符串) * @param $dat * @param $key * @return string */ function javaDesEncrypt($dat, $key) { $block = mcrypt_get_block_siz原创 2017-11-06 15:03:11 · 295 阅读 · 0 评论 -
生成UUID
/** * 生成UUID * */ function create_guid(){ $microTime = microtime(); list($a_dec, $a_sec) = explode(" ", $microTime); $dec_hex = dechex($a_dec* 1000000); $sec_hex = dechex转载 2017-11-06 15:06:24 · 346 阅读 · 0 评论 -
curl请求
/** * https请求(支持GET和POST),且最长时间为30秒 * */ function https_request($url, $data = null ,$headers=null ,$method=null) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url);原创 2017-11-06 17:52:24 · 437 阅读 · 0 评论
分享