直接用 floatval($arg) 来转换,既可以保留有效的小数点,也可以去掉后面多余的0, 其中arg 为变量

$number1 = "98.00";
$number2 = "98.76";
echo floatval($number1); //输出结果:98
echo floatval($number2); //输出结果:98.76

php取一天的开始时间 不指定

jed , 2018-3-14 09:57 , 代码编程 , 评论(0) , 阅读(128) , Via 本站原创

function getTodayBegin(){
    return mktime(0,0,0,date('m'),date('d'),date('Y'));
}

微信的AES加密解密类 不指定

jed , 2018-3-14 09:54 , 代码编程 , 评论(0) , 阅读(204) , Via 本站原创
本类时基于微信的AES算法提取出来的,原来微信的代码是将明文处理和加密分开,还有微信自己的错误码处理,用起来比较麻烦。所以将微信的代码做了修改,放到了一个类里方便使用.

PHP用于发送网络请求 不指定

jed , 2018-3-14 09:47 , 代码编程 , 评论(0) , 阅读(156) , Via 本站原创

   /**
     *
     * curl 支持post
     * @param string $base_url 基础链接
     * @param array $query_data 需要请求的数据
     * @param string $method 方法 get/post
     * @param boolean $ssl 关闭ssl验证
     * @param integer $exe_timeout 执行超时时间
     * @param integer $conn_timeout 连接超时时间
     * @param integer $dns_timeout dns超时时间
     */
    function tx_curl($base_url, $query_data, $method = 'get', $ssl = true, $exe_timeout = 10, $conn_timeout = 10, $dns_timeout = 3600)
    {
        $ch = curl_init();
        
        if ( $method == 'get' ) {
            //method get
            if ( ( !empty($query_data) )
                && ( is_array($query_data) )
            ){
                $connect_symbol = (strpos($base_url, '?')) ? '&' : '?';
                foreach($query_data as $key => $val) {
                    if ( is_array($val) ) {
                        $val = serialize($val);
                    }
                    $base_url .= $connect_symbol . $key . '=' . rawurlencode($val);
                    $connect_symbol = '&';
                }
            }
        } else {
            if ( ( !empty($query_data) )
                && ( is_array($query_data) )
            ){
                foreach($query_data as $key => $val) {
                    if ( is_array($val) ) {
                        $query_data[$key] = serialize($val);
                    }
                }
            }
            //method post
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $query_data);
        }
        curl_setopt($ch, CURLOPT_URL, $base_url);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $conn_timeout);
        curl_setopt($ch, CURLOPT_DNS_CACHE_TIMEOUT, $dns_timeout);
        curl_setopt($ch, CURLOPT_TIMEOUT, $exe_timeout);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        // 关闭ssl验证
        if($ssl){
          curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
          curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        }

        $output = curl_exec($ch);
        
        if ( $output === FALSE )
            $output = '';
            
        curl_close($ch);
        return $output;
    }

根据高德地图获取经纬度 不指定

jed , 2018-3-14 09:42 , 代码编程 , 评论(0) , 阅读(132) , Via 本站原创

/***********高德地图 根据地址获取经纬度************/
function getCoorByAddr($address)
{
    $key = C('GAODE_KEY');
//    $key = 'd20f62e5a58433a20e75c015a4f054fe';
    $url = "http://restapi.amap.com/v3/geocode/geo?key={$key}&address={$address}";
    $arr = file_get_contents($url);
    $newarr = json_decode($arr, true);
    if($newarr['info']=='OK'){
        $coor = $newarr['geocodes'][0]['location'];
        $coor =explode(',',$coor);
//        var_dump($coor);
        return array(
            'coor_x'=>$coor[0],
            'coor_y'=>$coor[1],
        );
    }
}

PHPExcel导入Excel数据 不指定

jed , 2018-3-14 09:37 , 代码编程 , 评论(0) , 阅读(158) , Via 本站原创

public function importFromExcel($excel_url)
{
    //Loader::import('phpexcel.PHPExcel');
    Loader::import('phpexcel.PHPExcel.IOFactory');
    // $phpExcel = new \PHPExcel();

    $fileExt = getExt($excel_url);
    if ($fileExt == 'xls') {
        $reader = \PHPExcel_IOFactory::createReader('Excel5');
    } else {
        $reader = \PHPExcel_IOFactory::createReader('Excel2007');
    }
    //$reader = \PHPExcel_IOFactory::createReader('Excel2007');
    //$reader = \PHPExcel_IOFactory::createReader('Excel5');
    $allSheets = $reader->load('/www/FenFa/public'.$excel_url);
    $excel_arr = $allSheets->getSheet(0)->toArray();
    array_shift($excel_arr);
    $data = [];
    foreach ($excel_arr as $k=>$v) {
        if ($v[1]) {
            $data[$k]['data_time']        = strtotime(str_replace('.', '-', $v[0]));
            $data[$k]['cooperation_id']   = $v[1];
            $data[$k]['settlement_price'] = $v[2];
            $data[$k]['settlement_ratio'] = $v[3];
            $data[$k]['settlement_num']   = $v[4];
        }
    }

    foreach ($data as $v) {
        if ($v['cooperation_id']) {
            Db::name('data')->insert($v);
        }
    }
}

php 文件原生上传函数 不指定

jed , 2018-3-14 09:29 , 代码编程 , 评论(0) , 阅读(239) , Via 本站原创
php 文件原生上传函数

*自定义一个图片等比缩放函数
*@param string $picname 被缩放图片名
*@param string $path 被缩放图片路径
*@param int $maxWidth 图片被缩放后的最大宽度
*@param int $maxHeight 图片被缩放后的最大高度
*@param string $pre 缩放后的图片名前缀,默认为"s_"
*@return boolen 返回布尔值表示成功与否。
*/
function imageResize($picname,$path,$maxWidth,$maxHeight,$pre="s_"){
    $path = rtrim($path,"/")."/";
    //1获取被缩放的图片信息
    $info = getimagesize($path.$picname);
    //获取图片的宽和高
    $width = $info[0];
    $height = $info[1];
    
    //2根据图片类型,使用对应的函数创建画布源。
    switch($info[2]){
        case 1: //gif格式
            $srcim = imagecreatefromgif($path.$picname);
            break;
        case 2: //jpeg格式
            $srcim = imagecreatefromjpeg($path.$picname);
            break;
        case 3: //png格式
            $srcim = imagecreatefrompng($path.$picname);
            break;
       default:
            return false;
            //die("无效的图片格式");
            break;
    }
    //3. 计算缩放后的图片尺寸
    if($maxWidth/$width<$maxHeight/$height){
        $w = $maxWidth;
        $h = ($maxWidth/$width)*$height;
    }else{
        $w = ($maxHeight/$height)*$width;
        $h = $maxHeight;
    }
    //4. 创建目标画布
    $dstim = imagecreatetruecolor($w,$h);

    //5. 开始绘画(进行图片缩放)
    imagecopyresampled($dstim,$srcim,0,0,0,0,$w,$h,$width,$height);

    //6. 输出图像另存为
    switch($info[2]){
        case 1: //gif格式
            imagegif($dstim,$path.$pre.$picname);
            break;
        case 2: //jpeg格式
            imagejpeg($dstim,$path.$pre.$picname);
            break;
        case 3: //png格式
            imagepng($dstim,$path.$pre.$picname);
            break;
    }
  }

PHP批量转换文件编码为utf-8 不指定

jed , 2018-3-14 09:26 , 代码编程 , 评论(0) , 阅读(176) , Via 本站原创

使用时向 read_dir 函数传入路径和要转换到的编码, 默认utf-8

比如传入这个路径,则函数会将WWW文件夹下所有的编码转换为utf-8:
read_dir("D:\WEB\phpStudy\PHPTutorial\WWW");

php常用正则验证 不指定

jed , 2018-3-14 09:23 , 代码编程 , 评论(0) , 阅读(246) , Via 本站原创

//正则验证手机号 正确返回 true
function preg_mobile($mobile) {
  if(preg_match("/^1[34578]\d{9}$/", $mobile)) {
    return TRUE;
  } else {
    return FALSE;
  }
}
//验证电话号码
function preg_tel($tel) {
  if(preg_match("/^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$/", $tel)) {
    return TRUE;
  } else {
    return FALSE;
  }
}
//验证身份证号(15位或18位数字)
function preg_idcard($idcard) {
  if(preg_match("/^\d{15}|\d{18}$/", $idcard)) {
    return TRUE;
  } else {
    return FALSE;
  }
}
//验证是否是数字(这里小数点会认为是字符)
function preg_digit($digit) {
  if(preg_match("/^\d*$/", $digit)) {
    return TRUE;
  } else {
    return FALSE;
  }
}
//验证是否是数字(可带小数点的数字)
function preg_num($num) {
  if(is_numeric($num)) {
    return TRUE;
  } else {
    return FALSE;
  }
}
//验证由数字、26个英文字母或者下划线组成的字符串
function preg_str($str) {
  if(preg_match("/^\w+$/", $str)) {
    return TRUE;
  } else {
    return FALSE;
  }
}
//验证用户密码(以字母开头,长度在6-18之间,只能包含字符、数字和下划线)
function preg_password($str) {
  if(preg_match("/^[a-zA-Z]\w{5,17}$/", $str)) {
    return TRUE;
  } else {
    return FALSE;
  }
}
//验证汉字
function preg_chinese($str) {
  if(preg_match("/^[\u4e00-\u9fa5],{0,}$/", $str)) {
    return TRUE;
  } else {
    return FALSE;
  }
}
//验证Email地址
function preg_email($email) {
  if(preg_match("/^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/", $email)) {
    return TRUE;
  } else {
    return FALSE;
  }
}
//验证网址URL
function preg_link($url) {
  if(preg_match("/http:\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/is", $url)) {
    return TRUE;
  } else {
    return FALSE;
  }
}
//腾讯QQ号
function preg_qq($qq) {
  if(preg_match("/^[1-9][0-9]{4,}$/", $qq)) {
    return TRUE;
  } else {
    return FALSE;
  }
}
//验证中国邮政编码 6位数字
function preg_post($post) {
  if(preg_match("/^[1-9]\d{5}(?!\d)$/", $post)) {
    return TRUE;
  } else {
    return FALSE;
  }
}
//验证IP地址
function preg_ip($ip) {
  if(preg_match("/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/", $ip)) {
    return TRUE;
  } else {
    return FALSE;
  }
}
分页: 4/75 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]