![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
benben0729
职业为猿的汪,爱好象、鼠、蛇、蛙
展开
-
Yii2上传图片,多图上传
基于fileinput与以yii的文件上传安装方式:composer require ttiantianle/upload使用方法:在配置文件中,添加别名@ttiantianle'aliases' => [ '@bower' => '@vendor/bower-asset', '@npm' => '@vendor/npm-asset', '@ttiantianle' =>'@vendor/ttiantianle原创 2020-06-07 20:31:52 · 659 阅读 · 0 评论 -
php 建表操作
创建表示例<?php$con = mysql_connect("localhost","peter","abc123");if (!$con) { die('Could not connect: ' . mysql_error()); }// Create databaseif (mysql_query("CREATE DATABASE my_db",$con)) ...原创 2019-01-31 12:53:47 · 315 阅读 · 0 评论 -
php导出excel,原生php
原生导出excelfunction exportToExcel($filename, $tileArray=[], $dataArray=[]){ ini_set('memory_limit','512M'); ini_set('max_execution_time',0); ob_end_clean(); ob_start(); header("Cont...原创 2018-11-12 13:11:29 · 777 阅读 · 0 评论 -
base64_encode与base64_decode
base64_encode 编码string base64_encode ( string $data )#设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层传输,例如电子邮件的主体#编码后的字符串数据, 或者在失败时返回 FALSE。base64_decode 解码string base64_decode ( string $data [, bool $str...原创 2018-10-10 17:57:39 · 9321 阅读 · 0 评论 -
php7 openssl签名
openssl_encrypt加密数据string openssl_encrypt ( string $data , string $method , string $key [, int $options = 0 [, string $iv = "" [, string &$tag = NULL [, string $aad = "" [, int $tag_length = 16...原创 2018-10-10 17:56:56 · 764 阅读 · 0 评论 -
aes加密
php5 (弃用,指的是php5中的加密方法弃用)CBC加密模式算法特点:每次加密的密文长度为64位(8个字节) 当相同的铭文使用相同的密钥和初始向量的时候CBC模式总是产生相同的密文 密文块要依赖以前的操作结果,需哦一,密文块不能进行重新排列 可以使用不同的初始化向量避免相同的明文产生相同的密文,一定程度上可以抵抗字典攻击 一个错误发生以后,当前和以后的密文都会被影响使用...原创 2018-10-10 17:56:05 · 215 阅读 · 0 评论 -
md5函数
md5() 函数计算字符串的 MD5 散列md5(string,raw)#string 必需。规定要计算的字符串。#raw 可选。规定十六进制或二进制输出格式:#TRUE - 原始 16 字符二进制格式#FALSE - 默认。32 字符十六进...原创 2018-10-10 17:54:14 · 3868 阅读 · 0 评论 -
substr
语法substr(string,start,length)注意的是substr开始的位置是包含的如下:<?php$a = strrpos('abc.php','.');//$a=3echo substr('abc.php',$a);//j结果是 .php?>原创 2018-10-10 17:52:46 · 1402 阅读 · 1 评论 -
strripos()
strripos() 函数查找字符串在另一字符串中最后一次出现的位置。 注:strripos() 函数对大小写不敏感。###相关函数:stripos() - 查找字符串在另一字符串中第一次出现的位置(不区分大小写)strpos() - 查找字符串在另一字符串中第一次出现的位置(区分大小写)strrpos() - 查找字符串在另一字符串中最后一次出现的位置(区分大小写)语法...原创 2018-10-10 17:49:30 · 215 阅读 · 0 评论 -
php 二分查找
function binarySearch(Array $arr, $target) { $low = 0; $high = count($arr) - 1; while($low <= $high) { $mid = floor(($low + $high) / 2); #找到元素 if($arr[$mid] == $target) re...原创 2018-09-29 09:49:45 · 816 阅读 · 0 评论 -
php 冒泡排序
function bubbleSort($numbers) { $cnt = count($numbers); for ($i = 0; $i < $cnt; $i++) { for ($j = 0; $j < $cnt - $i - 1; $j++) { if ($numbers[$j] > $numbers[$j + ...原创 2018-09-29 09:49:05 · 115 阅读 · 0 评论 -
判断链表是否有环 寻环
环有两种可能:整体是一个环 中间有环方法一$node = $head;while($node!=null){ $node=$node->next; if($node==$head){ #当有node指向头的时候我们可以确定这是一个循环链表 } }#这只能判断第一种情况,第二种情况这种方法是不行的方法二#链表不能同...原创 2018-09-29 09:45:28 · 150 阅读 · 0 评论 -
php http_build_query()函数
http_build_query()函数的作用是使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串。写法格式:http_build_query ( mixed $query_data [, string $numeric_prefix [, string $arg_separator [, int $enc_type = PHP_QUERY_RFC1738 ]]...原创 2018-09-29 09:10:45 · 494 阅读 · 0 评论 -
php 文件上传
form中需要指定属性 enctype="multipart/form-data"前端<form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">文件名:</label>原创 2018-09-29 09:02:59 · 112 阅读 · 0 评论 -
PHP uniqid()生成唯一id
定义和用法uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID。语法uniqid(prefix,more_entropy)参数 描述prefix 可选。为 ID 规定前缀。如果两个脚本恰好在相同的微秒生成 ID,该参数很有用。more_entropy 可选。规定位于返回值末尾的更多的熵。说明如果 prefix 参数为空,则返回的字符串有 13 个字符...原创 2018-09-29 09:00:54 · 1816 阅读 · 0 评论 -
array_flip()与array_reverse()
这两个函数 有时可能会记混,再说明一下array_fliparray_flip(array);#用于反转数组的键值#可用作去重array_reversearray_reverse(array,preserve);#函数以相反的元素顺序返回数组,第二个参数为true保持键名,false键名丢失...原创 2018-09-29 08:59:47 · 1525 阅读 · 0 评论 -
php7较之前版本的一些总结
变量处理机制#间接变量、属性和方法引用都按照从左到右的顺序进行解释 $$foo['bar']['baz'] // interpreted as ($$foo)['bar']['baz'] $foo->$bar['baz'] // interpreted as ($foo->$bar)['baz'] $foo->$bar['baz']() // interprete...原创 2018-09-29 08:55:04 · 431 阅读 · 0 评论 -
php实现封装aes加密算法,与前端交互
class AesSecurity{ /** * method 为AES-128-CBC时 * @var string传入要加密的明文 * 传入一个16字节的key * 传入一个16字节的初始偏移向量IV */ private static $method = 'AES-128-CBC'; private static $...原创 2018-11-27 09:15:03 · 792 阅读 · 0 评论 -
判断是否手机登录
判断是否手机登录function isPhone() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } //如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 if (isset($_SE...原创 2019-01-31 12:52:32 · 335 阅读 · 0 评论 -
phalcon使用命名空间
直接通过是代码来演示目录结构项目名称是zhaofangapizhaofangapi app backend controllers ControllersBase.php IndexController.php models common ...原创 2019-02-25 14:19:04 · 337 阅读 · 0 评论 -
display_errors与error_reporting
相同之处两者都可以控制是否显示错误信息不同之处ini_set('display_errors',[0|1]);只能控制是否打开错误显示,不能控制显示的错误级别error_reporting()可以控制显示的错误级别注意ini_set()的权限大于error_reportingini_set('display_errors',0);error_reporting(E_ALL);r...原创 2019-02-20 16:54:35 · 625 阅读 · 0 评论 -
php操作 redis总结
连接$redis = new Redis();$redis->connect('127.0.0.1',6379,1);//短链接,超过一秒放弃连接$redis->open('127.0.0.1',6379,1);//短链接,超过一秒放弃连接$redis->pconnect('127.0.0.1',6379,1);//长连接,超过一秒放弃连接$redis->pope...原创 2019-02-18 16:24:07 · 203 阅读 · 0 评论 -
PHP_EOL换行符
PHP 中换行可以用 PHP_EOL 来替代,以提高代码的源代码级可移植性:unix系列用 \n windows系列用 \r\n mac用 \r <?phpecho PHP_EOL;//windows平台相当于 echo "\r\n";//unix\linux平台相当于 echo "\n";//mac平台相当于 echo "\r";?>...原创 2019-02-12 19:17:34 · 297 阅读 · 0 评论 -
PHP使用elasticsearch搜索安装及分词方法
一、背景为什么会用到这个ES搜索? 是因为我在看乌云的漏洞案例库时候,搜索即为不方便。比如说说我要搜索一个 SQL注入那mysql匹配的时候是like模糊匹配,搜索必须要有SQL注入这四个字,连续的才能查找到那这样会不太方便。然后我就想着做一个分词,搜索起来会方便不少,第一个想到的就是ES搜索了。怎么去用ES呢?二、安装ES搜索我们只需要一个JAVA环境并且把Java的...转载 2019-02-12 19:15:46 · 1950 阅读 · 0 评论 -
phalcn cli命令行应用
CLI应用程序从命令行执行。它们对于创建定时作业,脚本,命令实用程序等非常有用。结构CLI应用程序的最小结构如下所示:app/config/config.phpapp/tasks/MainTask.phpapp/cli.php 主启动文件创建启动程序与常规MVC应用程序一样,启动程序文件用于启动应用程序。我们使用cli.php 文件来启动应用程序,而不是Web应用程序中的in...原创 2019-02-12 19:13:17 · 492 阅读 · 0 评论 -
defined()函数
defined()函数检查某常量是否存在若存在则返回true,否则返回false示例defined('BASE_PATH') || define('BASE_PATH', getenv('BASE_PATH') ?: realpath(dirname(__FILE__) . '/../..'));defined('APP_PATH') || define('APP_PATH', BASE_...原创 2019-02-12 19:12:08 · 10068 阅读 · 0 评论 -
Yii2 控制台命令
Yii 中有一个拥有丰富功能的控制台,它们主要用于创建网站后台处理的任务。在项目根目录下执行相关操作,有意思的事,可以通过 yii 自带的功能,列出当前已有的命令。查看当前控制台已有的脚本命令正如你在截图中看到,Yii 中已经定义了一组默认情况下可用的命令:AssetController - 允许合并和压缩你的 JavaScript 和 CSS 文件。 在 资源 - 使...原创 2019-02-12 19:11:08 · 646 阅读 · 0 评论 -
php使用xpath解析html
实例1$xml = simplexml_load_file('https://forums.eveonline.com'); $names = $xml->xpath("html/body/div/div/form/div/div/div/div/div[*]/div/div/table//tr/td[@class='topicViews']"); foreach($names as...原创 2019-02-12 19:07:13 · 1773 阅读 · 0 评论 -
cURL 详解(附实例)
curl简介在 PHP 中,cURL 是一个扩展库。它可以与各种类型的服务器、使用各种类型的协议进行连接和通讯。它目前支持 http、https、ftp、gopher、telnet、dict、file 和 ldap 协议,同时也支持 HTTPS 认证、HTTP POST、 FTP 上传、代理、cookies 和 用户名 + 密码的认证等。curl函数库常用函数函数描述...转载 2019-02-11 14:03:02 · 2434 阅读 · 0 评论 -
系统函数
execexec('whoami');string exec ( string $command [, array &$output [, int &$return_var ]] )command要执行的命令。output如果提供了 output 参数, 那么会用命令执行的输出填充此数组, 每行输出填充数组中的一个元素。 数组中的数据不包含行尾的空白字符,例如 \n ...原创 2019-01-30 14:44:18 · 150 阅读 · 0 评论 -
Phalcon获取最后插入ID lastInsertId
<?php $model = new model(); if($model -> create($data)) { $insertId = $model -> getWriteConnection() -> lastInsertId($model -> getSource()); }?>是的没错,就是如此的...原创 2019-02-21 14:03:02 · 1377 阅读 · 0 评论 -
Yii2 控制台命令
Yii 中有一个拥有丰富功能的控制台,它们主要用于创建网站后台处理的任务。在项目根目录下执行相关操作,有意思的事,可以通过 yii 自带的功能,列出当前已有的命令。查看当前控制台已有的脚本命令正如你在截图中看到,Yii 中已经定义了一组默认情况下可用的命令:AssetController - 允许合并和压缩你的 JavaScript 和 CSS 文件。 在 资源 - 使用 asse...原创 2019-02-21 13:38:43 · 453 阅读 · 0 评论 -
php获取ip地址,记录用户登陆日志
php 获取ip地址的5种方法,插入用户登录日志实例,推荐使用第二种方法<?php //方法1:$ip = $_SERVER["REMOTE_ADDR"];echo $ip;//方法2:$ip = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];$ip =...原创 2019-02-21 13:36:32 · 4591 阅读 · 1 评论 -
json_encode()处理中文
将PHP对象转为Json数据$arr = array(1, 2, 'Hello', 'Json', array('name' => '国哥', 'sex' => '男'));$jsonArr = json_encode($arr);将Json数据解析为PHP对象$arr = json_decode($jsonArr);当数据存在中文转为Json格式的时候中文转为unic...原创 2019-02-02 11:25:21 · 15033 阅读 · 0 评论 -
php快速排序
快速排序<?php$a = [21,17,39,5,9,3,20,80,31,43,52];function quick_sort($arr){ if(!is_array($arr)) return false; //递归出口:数组长度为1,直接返回数组 $len = count($arr); if($len<=1) return $arr; $l...原创 2018-09-11 17:21:38 · 118 阅读 · 0 评论 -
file_put_contents()函数
file_put_contents()将字符串写入文件 int file_put_contents(string $filename,mixed $data[,int $flags=0[,resource $context]])参数 filename 要被写入数据的文件名 data 要写入的数据 类型可以是string,array或者stream资源 flagsflag 描述 ...原创 2018-09-02 22:03:26 · 1370 阅读 · 0 评论 -
Array to string conversion TP框架
第一种:源代码:$contact2 = array("北京市联想人" => array(1,'高某','A公司','北京市','(010)9876544321','aaa@qqq.com'),"上海市联系人" => array(2,'李某','B公司','上海市','13214141414','adada@qqq.com'),"青岛市联系人" => array(3...原创 2018-07-26 18:03:15 · 11602 阅读 · 1 评论 -
TP5中使用toArray()报错
使用find(),select(),get(),all()等查询数据库时,返回的是一个模型对象,此时是不能直接操作的,需要我们转化成数组对象使用toArray()方法,而我在使用时报错网上查了好多资料,说是find()或者get()查询一条数据时可以直接使用toArray(),而返回多条数据时,不能直接使用toArray(),需要使用助手函数conllection或者类Conllect...原创 2018-07-20 11:17:43 · 8186 阅读 · 0 评论 -
关于 “echo 3 . print(2) . print(4) . 5 . 'c' . print(6) . print(7). 'b' .print(8) . 'a';”的结果分析
首先我们来明确以下几点: 一·在PHP中.是左连接符,即是从右向左执行的。 二·echo 和 print 都是输出函数需要占用io。 因为.是左链接符,所以首先我们可以看到进入执行print(8) . 'a' ,我们根据io输出为界线点可以将上面的输出分解为如下样式: print(8) . 'a'; print(7) . 'b'; print(6) ; print(4) . 5 . ...转载 2018-07-25 10:36:59 · 1782 阅读 · 0 评论 -
Yii2.0数据库操作增删改查详解
1.简单查询:[[one()]]: 根据查询结果返回查询的第一条记录。[[all()]]: 根据查询结果返回所有记录。[[count()]]: 返回记录的数量。[[sum()]]: 返回指定列的总数。[[average()]]: 返回指定列的平均值。[[min()]]: 返回指定列的最小值。[[max()]]: 返回指定列的最大值。[[scalar()]]: 返回查询结...转载 2018-07-07 15:39:04 · 252 阅读 · 0 评论