<?php class Xcrypt{ private $mcrypt; private $key; private $mode; private $iv; private $blocksize; public function __construct($key, $mode = 'cbc', $iv = "off"){ switch (strlen($key)){ case 8: $this->mcrypt = MCRYPT_DES; break; case 16: $this->mcrypt = MCRYPT_RIJNDAEL_128; break; case 32: $this->mcrypt = MCRYPT_RIJNDAEL_256; break; default: die("Key size must be 8/16/32"); }常用对称加密算法类支持密钥:64/128/256 bit(字节长度8/16/32)支持算法:DES/AES(根据密钥长度自动匹配使用:DES:64bit AES:128/256bit)支持模式:CBC/ECB/OFB/CFB密文编码:base64字符串/十六进制字符串/二进制字符串流填充方式: PKCS5Padding(DES)
<?php class class_post { function fun_text1($num1,$num2,$str) { Return (preg_match("/^[a-zA-Z0-9]{".$num1.",".$num2."}$/",$str))?true:false; } function fun_text2($num1,$num2,$str) { return (preg_match("/^[0-9]{".$num1.",".$num2."}$/i",$str))?true:false; } function fun_font($num1,$num2,$str) { return (preg_match("/^([\x81-\xfe][\x40-\xfe]){".$num1.",".$num2."}$/",$str))?true:false; } function fun_status($str) { return (preg_match('/(^([\d]{15}|[\d]{18}|[\d]{17}x)$)/',$str))?true:false; } function fun_email($str){ return (preg_match('/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$/',$str))?true:false; }页面作用:常用表单验证类,验证是否为指定长度的字母/数字组合,是否为指定长度数字,是否为指定长度汉字,验证身份证号码,验证邮件地址,验证电话号码
<?php include "../libchart/classes/libchart.php"; $chart = new HorizontalBarChart(600, 170); $dataSet = new XYDataSet(); $dataSet->addPoint(new Point("/wiki/Instant_messenger", 50)); $dataSet->addPoint(new Point("/wiki/Web_Browser", 75)); $dataSet->addPoint(new Point("/wiki/World_Wide_Web", 122)); $chart->setDataSet($dataSet); $chart->getPlot()->setGraphPadding(new Padding(5, 30, 20, 140)); $chart->setTitle("Most visited pages for www.example.com"); $chart->render("generated/demo2.png");//画一个3维饼图专用函数//$data,饼图结构数据//$data数据参数//$XPos,圆心的X坐标//$YPos,圆心的Y坐标//$Radius=100,半径//$DrawLabels=PIE_NOLABEL,标签样式(百分比和标签)//$EnhanceColors=false, 边框渲染//$Skew=50,倾斜角度//$SpliceHeight=20,饼的厚度//$SpliceDistance=5,各板块间距离//$Decimals=2 显示百分比小数位数
<?php include("pChart/pData.class"); include("pChart/pChart.class"); $DataSet = new pData; $DataSet->AddPoint(array(1,4,-3,2,-3,3,2,1,0,7,4,-3,2,-3,3,5,1,0,7),"Serie1"); $DataSet->AddPoint(array(0,3,-4,1,-2,2,1,0,-1,6,3,-4,1,-4,2,4,0,-1,6),"Serie2"); $DataSet->AddAllSeries(); $DataSet->SetAbsciseLabelSerie(); $DataSet->SetSerieName("January","Serie1"); $DataSet->SetSerieName("February","Serie2"); $Test = new pChart(700,230); $Test->setFontProperties("Fonts/tahoma.ttf",8); $Test->setGraphArea(50,30,585,200); $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240); $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230); $Test->drawGraphArea(255,255,255,TRUE); $Test->draw$graph->title->Set(iconv_arr("Phpwind 图表测试")); // 设置图表标题 这里iconv_arr是我自己加的,为了支持我们伟大的中文要把你的当前编码转化为html实体$graph->xaxis->title->Set(iconv_arr("这个大概是月份吧")); //设置X轴标题$graph->yaxis->title->Set(iconv_arr("这个是Y轴")); //设置Y轴标题$graph->title->SetFont(FF_SIMSUN,FS_BOLD); //设置标题字体,这里字体默认是FF_FONT1,为了中文换成FF_SIMSUN$graph->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD); //设置X轴标题字体$graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD); //设置Y轴标题字体
<?php class SimplePie_Autoloader { public function __construct() { $this->path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'library'; } public function autoload($class) { // Only load the class if it starts with "SimplePie" if (strpos($class, 'SimplePie') !== 0) { return; } $filename = $this->path . DIRECTORY_SEPARATOR . str_replace('_', DIRECTORY_SEPARATOR, $class) . '.php'; include $filename; } }rss简易信息聚合(也叫聚合内容)是一种RSS基于XML标准,在互联网上被广泛采用的内容包装和投递协议。RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是使用最广泛的XML应用。RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。发布一个RSS文件后,这个RSS Feed中包含的信息就能直接被其他站点调用,而且由于这些数据都是标准的XML格式,所以也能在其他的终端和服务中使用,是一种描述和同步网站内容的格式。[1] RSS可以是以下三个解释的其中一个: Really Simple Syndication;RDF (Resource Description Framework) Site Summary; Rich Site Summary。但其实这三个解释都是指同一种Syndication的技术。
<?php if (!file_exists('phpThumb.config.php')) { if (file_exists('phpThumb.config.php.default')) { echo 'WARNING! "phpThumb.config.php.default" MUST be renamed to "phpThumb.config.php"'; } else { echo 'WARNING! "phpThumb.config.php" should exist but does not'; } exit; } header('Location: ./demo/');它是一个开源的图片缩略图类库,可以完成多种复杂的图片缩略图生成和现实,使用起来非常的方便。
最近做微信小程序,发现还没人做微信小程序签名解密的ThinkPHP拓展,就自己边做边开发了一个把压缩包解压到extend目录下,在控制器就能直接调用<?php /** * Created by PhpStorm. * User: yang jianmin * Date: 2017/7/1 * Time: 17:33 */ namespace app\index\controller; use think\Controller; use sample\WXBizDataCrypt; use app\index\model\User as UserModel; class Test extends Controller { public function index() { $appid = ''; $sessionKey = ''; $encryptedData=""; $iv = ''; $pc = new WXBizDataCrypt($appid, $sessionKey); print_r($pc); $errCode = $pc->decryptData($encryptedData, $iv, $data ); if ($errCode == 0) { print_r($data ); } else { return $errCode ; } }
<?php namespace com; class Sms{ //默认配置 protected $appcode; protected $host="http://sms.market.alicloudapi.com"; protected $path = "/singleSendSms"; public function __construct() { $this->appcode = config('sms_appcode');//读取配置的appcode } public function send($phoneNo,$verify_code){ $host = $this->host; $path = $this->path; $method = "GET"; $appcode = $this->appcode; $headers = array(); array_push($headers, "Authorization:APPCODE " . $appcode); $phone = $phoneNo; //目标手机号,多条记录可以英文逗号分隔 $paramstring = '{"verify_code":"'.$verify_code.'"}';//这是验证码,根据自己的短信模板来设置 $paramstring = urlencode($paramstring); $querys = "ParamString={$paramstring}&RecNum={$phone}&SignName=XXXX&TemplateCode=SMS_67123456"; //SignName 签名信息 TemplateCode 模板code 购买阿里云的短信服务这些都在控制台得到 $bodys = "";最近项目使用阿里云短信服务,参照阿里云市场的短信服务里面的PHP示例写了个类。发送短信验证码。
<?php /** * 支付宝支付 */ return [ //应用ID,您的APPID。 'app_id' => "", //商户私钥, 请把生成的私钥文件中字符串拷贝在此 'merchant_private_key' => "", //异步通知地址 'notify_url' => "", //同步跳转 'return_url' => "", //编码格式 'charset' => "UTF-8", //签名方式 'sign_type'=>"RSA2", //支付宝网关 'gatewayUrl' => "https://openapi.alipay.com/gateway.do", //支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。 'alipay_public_key' => "", ];ThinkPHP5 支付宝支付扩展库, 包括手机网站支付、电脑网站支付、支付查询、退款、退款查询、对账单等。用法电脑网站支付 Pagepay.php调用 \alipay\Pagepay::pay($params) 即可手机网站支付 Wappay.php调用 \alipay\Wappay::pay($params) 即可交易查询接口 Query.php调用 \alipay\Query::exec($query_no) 即可交易退款接口 Refund.php调用 \alipay\Refund::exec($params) 即可退款统一订单查询 RefundQuery.php调用 \alipay\RefundQuery::exec($params) 即可交易关闭接口 Close.php调用 \alipay\Close::exec($query_no) 即可查询账单下载地址接口 Datadownload.php调用 \alipay\Datadownload::exec($bill_type, $bill_date) 即可验签 Notify.php调用 \alipay\Notify::checkSign($params) 即可
<?php class qqlogin{ public $app_id; public $app_key; public $callback; public $code; public $state; public function __construct($app_id,$app_key,$callback){ $this->code = isset($_REQUEST['code'])? $_REQUEST['code'] : ''; $this->state = isset($_REQUEST['state'])? $_REQUEST['state'] : ''; $this->app_id = $app_id; $this->app_key = $app_key; $this->callback = $callback; }1.先调用登录方法,向腾讯发送请求,2.腾讯携带本网站唯一对应参数OPENID,ACCESSTOKEN,返回到对应回调页面,3.回调页面接受到腾讯的参数后,通过这个两个参数,再发出对应的请求,如查询用户的数据。4.腾讯做出对应的操作,如返回这个用户的数据给你
<?php class Segmentation { var $options = array('lowercase' => TRUE, 'segment_english' => FALSE); var $dict_name = 'Unknown'; var $dict_words = array(); function setLowercase($value) { if ($value) { $this->options['lowercase'] = TRUE; } else { $this->options['lowercase'] = FALSE; } return TRUE; } function setSegmentEnglish($value) { if ($value) { $this->options['segment_english'] = TRUE; } else { $this->options['segment_english'] = FALSE; } return TRUE; }中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。我们知道,在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,虽然英文也同样存在短语的划分问题,不过在词这一层上,中文比之英文要复杂得多、困难得多
<?php require_once("Classes/PHPExcel.php"); $phpexcel = new PHPExcel(); $phpexcel = PHPExcel_IOFactory::createReader("Excel5")->load("template.xls"); $phpexcel->getProperties()->setCreator("Liu Jian") // 文档作者 ->setLastModifiedBy("Liu Jian") // 最后一次修改者 ->setTitle("Office 2003 XLS Test Document") // 标题 ->setSubject("Office 2003 XLS Test Document") // 主题 ->setDescription("Test document for Office 2003 XLS, generated using PHPExcel.") // 备注 ->setKeywords("office 2003 openxml php") // 关键字 ->setCategory("Test result file"); // 类别 $phpexcel->createSheet(1); $sheet = $phpexcel->getSheet(1);通常PHPExcel对象有两种实例化的方式 1. 通过new关键字创建空白文档2. 通过读取已有的模板创建实例化之后的PHPExcel对象类似于一个暂存于内存中文档文件,可以对它进行操作以达到修改文档数据的目的,设置文档属性,默认状态下,新创建的空白文档(通过new)只有一个工作表(sheet),且它的编号(index)为0