![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
longzai89757
一只期待满满的虾米
展开
-
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 · 417 阅读 · 0 评论 -
PHP根据中心经纬度和半径画圆圈得出的最大最小经纬度
/** * 根据中心经纬度和半径画圆圈得出的最大最小经纬度 *@paramlon 经度 *@paramlat 纬度 *@paramraidus 半径距离单位米 */ public functiongetAround($lon,$lat,$raidus){ $pai = 3.14159265翻译 2018-02-02 13:24:56 · 1585 阅读 · 0 评论 -
PHP删除文件目录
删除一个目录,包括它的内容。 /***** *@dir - Directory to destroy *@virtual[optional]- whether a virtual directory */ functiondestroyDir($dir, $virtual =false) { $ds = DIRECTORY_SEPARATOR原创 2018-02-02 13:22:07 · 176 阅读 · 0 评论 -
PHP文件Zip压缩和解压缩
PHP文件 Zip 压缩/* creates a compressed zip file */注意:开启PHP zip压缩扩展extension=php_zip.dll functioncreate_zip($files=array(),$destination='',$overwrite=false) { //if the zip fi原创 2018-02-02 13:19:31 · 4470 阅读 · 0 评论 -
PHP调整图像尺寸
functionresize_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 · 283 阅读 · 0 评论 -
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 · 227 阅读 · 0 评论 -
新版阿里云短信接口调用
今天项目需要用到阿里云的短信接口,看了文档,感觉文档说的不详细,demo也是有点乱,找了资料,发现说是今年新改版的,费了点劲,弄好了,阿里的这个短信接口调用比其他的短信接口麻烦点,但更安全点;前面的申请签名和模板,添加一个秘钥就不说了;首先,把下载的demo里面的api_sdk文件放入到Vendor文件夹(tp框架,其他框架放在自己的引入外部类文件夹就行),里面,然后可以写一个原创 2017-11-13 19:00:09 · 6949 阅读 · 2 评论 -
阿里云视频点播接口开发
这个视频点播接口,做完,才发现原来做的阿里云短信接口有点运气了,也可能是阿里云的文档太乱,给的短信接口的sdk是链接到了demo文档,点播接口的sdk是sdk文件,还是sdk里面的文件内容,让人很摸不到头脑,经过摸索,发现阿里的文档还是不错的,虽然有些sdk链接很不对,让人错乱看到这我知道上次的短信接口有点运气了,上次的是demo文档 直接封装好的,拿来就能用,单本质还是这些sdk原创 2017-12-29 16:28:59 · 6435 阅读 · 6 评论 -
文本框改变事件,使用递归ajax思想
偶然的机会要用ajax获取后台多个数据的价格来更新页面数据,就写了这个,发现了ajax的递归写法,虽然最后没用上,但还挺有意思的,这个好处就是,数据库数据更新的话 就能随之改变,但在服务器反应方面很不尽人意,可能以后用到的不多,仅此记录。$(document).ready(function(){ $("input[name='price']").bind('in原创 2017-12-25 18:07:02 · 242 阅读 · 0 评论 -
PHP根据经纬度计算两点之间距离
/** * Description: 计算两点之间距离 *@paramslng 起始经度 *@paramslat 起始纬度 *@paramelng 结束经度 *@paramelat 结束纬度 *@return千米 */ public functionget翻译 2018-02-02 13:26:03 · 777 阅读 · 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 · 1574 阅读 · 0 评论 -
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 · 9537 阅读 · 0 评论 -
替换数组指定键名、键值
$param = $this->request->param();json_decode(str_replace("id","s_t_id",json_encode($param)),true);原创 2019-03-21 13:04:45 · 2651 阅读 · 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 · 887 阅读 · 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 · 1426 阅读 · 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 · 4158 阅读 · 0 评论 -
分享一些时间处理函数
<?phpclass Time{ /** * 返回今日开始和结束的时间戳 * * @return array */ public static function today() { return [ mktime(0, 0, 0, date('m'), date(...转载 2018-09-18 11:30:06 · 175 阅读 · 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 · 721 阅读 · 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 · 1220 阅读 · 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 · 3581 阅读 · 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 · 1102 阅读 · 0 评论 -
页面不缓存的方法总结
页面不缓存的方法:1、2、// 修改为">3、 在服务器上设置响应头 cache-control:max-age=0例如:header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');header('Last-Modified: ' . gmdate('D, d M Y H:i:s') .原创 2017-12-25 18:00:34 · 274 阅读 · 0 评论 -
支付宝支付二维码收银台封装
/** * 支付宝支付 * @param $out_trade_no [商户自己的订单号码注意唯一] * @param $subject [订单名称] * @param $body [订单描述] * @param $total_fee [付款金额] * @param $notify_url [服务器异步通知页面路径] * @param $return_ur原创 2017-11-08 13:02:16 · 1629 阅读 · 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 · 1880 阅读 · 2 评论 -
post和get传输速度比较
post和get传输速度:经过测试,他们传输速度基本相同,而且也可以从curl请求来理解他们,curl请求都是要向目标地址发送以一个包,头部和主体谁也不缺,基本上传输速度是不变的,在电脑配置恒定情况下但post比get多了一个封包的过程,可能造成了人们多消耗的时间在于封包,而并非是因为请求,这个时间依据电脑配置,所以我的理解是低配置get好点,高配置就随意了原创 2017-11-08 11:49:02 · 7805 阅读 · 0 评论 -
获取url参数名
//获取url参数名functiongetKeyValue($url) { $result =array(); $mr = preg_match_all('/(\?|&)(.+?)=([^&?]*)/i', $url, $matchs); if($mr !==FALSE) { for($i = 0; $i转载 2017-11-07 11:37:16 · 197 阅读 · 0 评论 -
字数限制截取
/** * 字数限制截取 * 在字数不多余情况下不加... * */functionmsubstr($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 · 295 阅读 · 0 评论 -
获取服客户端ip
tp封装的获取服客户端ip方法,挺实用的转载 2017-11-07 11:26:26 · 179 阅读 · 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 · 2547 阅读 · 0 评论 -
数组排序
方法一 :/* $array_name:传入的数组; $row_id:数组想排序的项; $order_type:排序的方式,ASC或者DESC; */functionarray_sort($array_name,$row_id,$order_type){ $array_temp=array(); foreach($array_nameas原创 2017-11-06 14:48:50 · 331 阅读 · 0 评论 -
PHP冒泡排序
冒泡排序算法的运作如下:1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3、针对所有的元素重复以上的步骤,除了最后一个。4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。冒泡排序最好的时间复杂度为0(n)冒泡排序最坏的时间复杂度为0(n2)原创 2017-11-08 16:57:22 · 188 阅读 · 0 评论 -
循环体内判断是否拖慢速度
上一章的冒泡算法引申一个思考,做了实验先判断$order还是先循环好实验一:classTest { public functionsortlist($ary,$order='ASC') { if($order=='ASC'){ for($i = 0; $i //执行co原创 2017-11-08 17:02:24 · 737 阅读 · 0 评论 -
in_array函数的效率测试和二分法初测
看到一个关于二分法查找的Java版本,想看能不能优化一下in_array函数,没想到测试结果要为in_array函数正名。classTest { /** * 获取当前时间戳(毫秒级) *@returnfloat */ functionmicrotime_float(){ list($原创 2017-11-09 15:51:29 · 334 阅读 · 0 评论 -
tp5的大小写规则bug
昨天完成了一个tp5的项目,第一次用tp5,还不习惯,感觉tp5的大小写规则算是一个不大不小的bug在URL规则上我用的不区分大小写,本地测试项目没问题,上传到服务器就出现了问题,一直访问不到资源,或者提醒模块不存在经过查找资料,发现Linux服务器对于大小写验证很严格,然后我检查了下我的大小写,都没问题啊,控制器大写对应文件夹名大写,规则上是没错的,地址上也没错,经过测试,发原创 2017-12-25 17:51:30 · 4191 阅读 · 0 评论 -
curl请求
/** * https请求(支持GET和POST),且最长时间为30秒 * */functionhttps_request($url,$data = null ,$headers=null,$method=null){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url);原创 2017-11-06 17:52:24 · 314 阅读 · 0 评论 -
生成UUID
/** * 生成UUID * */functioncreate_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 · 265 阅读 · 0 评论 -
des加解密
注意:必须要开启php的一些配置或者自定义某些函数/** * DES加密(java兼容模式,密文转为十六进制字符串) *@param$dat *@param$key *@returnstring */functionjavaDesEncrypt($dat, $key){ $block = mcrypt_get_block_siz原创 2017-11-06 15:03:11 · 232 阅读 · 0 评论 -
转换一个String字符串为byte数组
/** * 转换一个String字符串为byte数组 *@param$str 需要转换的字符串 *@param$bytes 目标byte数组 *@authorZikie */ public functiongetBytes($string) { $bytes =array();转载 2017-11-06 14:57:34 · 1100 阅读 · 0 评论 -
pdo连接数据库
constUSER ='root'; //数据库连接用户名constPASS='root'; //对应的密码constDSN ="mysql:host=localhost;dbname=databasename";classDb{ //保存实例的私有静态变量 private static$conts;原创 2017-11-06 14:55:09 · 177 阅读 · 0 评论 -
获取文字星期天时间
functiongetNowDate(){ $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 · 181 阅读 · 0 评论