php技巧

关于PHP中interface的用处详解

2020-07-25
确实,PHP 接口是有它的目的的. 它们是契约,是给其他开发人员的说明手册.然而,还是很难理解接口有什么用. 基础 接口是抽象的类,无法直接实例化,但是可被实现. 这是一个基本的例 interface MyInterface { public function setName(string $name); public function getName(); } class MyClass implements MyInterface { private $name; public functi

jQuery+PHP实现图片上传并提交功能

2020-07-24
图片上传思路:通过ajax实现图片上传,然后把PHP返回的图片地址,加入到隐藏字段中,最后通过表单提交给后台PHP,代码如下 HTML代码 zimg.html文件: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-wid

Laravel中如何轻松容易的输出完整的SQL语句

2020-07-24
前言 laravel 中自带的查询构建方法 toSql 得到的 sql 语句并未绑定条件参数,类似于这样 select * fromuserswhereid= ? ,所以写了个扩展包 laravel-dump-sql,可以获取完整的 sql 语句. 源码 laravel-dump-sql - github.com/guanguans/l- 安装 $ composer require guanguans/laravel-dump-sql -v 发布服务 $ php artisan vendor:p

PHP代码覆盖率统计详解

2020-07-19
一 安装php环境 二 统计php代码覆盖率 1 需要安装xdebug 安装步骤: //www.jb51.net/article/116419.htm 测试环境 LNMP 军哥一键包1.3版本 PHP 7.0.7 Xdebug 2.6 配置步骤 git clone git://github.com/xdebug/xdebug.git cd xdebug find / -name phpize /usr/bin/phpize find / -name php-config ./configure

php连接mysql之mysql_connect()与mysqli_connect()的区别

2020-07-19
实例 打开一个到 MySQL 服务器的新的连接: <?php $con=mysqli_connect("localhost","wrong_user","my_password","my_db"); // 检查连接 if (!$con) { die("连接错误: " . mysqli_connect_error()); } ?> 定义和用法 mysqli_connect() 函数打开一个到 My

浅谈PHP之ThinkPHP框架使用详解

2020-07-18
Thinkphp框架其精髓就在于实现了MVC思想,其中M为模板.V为视图.C为控制器,模板一般是公共使用类,在涉及数据库时,一般会跟数据表同名,视图会和控制器类里的方法进行名字的一一对应. 下载及配置 官网(http://www.thinkphp.cn/)下载ThinkPHP5.0,将解压文件放在网站目录下的ATP5子目录下 默认主页:http://localhost:8099/ATP5/public/index.php 如果要隐藏index.php且服务器为Apache则需要将public\.

KindEditor在php环境下上传图片功能集成的方法示例

2020-07-18
KindEditor 是一套开源的在线HTML编辑器, 后台可与 Java..NET.PHP.ASP 等程序集成.为实现图文混排的编辑效果,我们通常都会用到编辑器的图片上传功能,本文会简单讲一下KinEditor的基本使用,主要说明如何在php环境下,集成编辑器的图片上传功能! KindEditor 官方下载:http://kindeditor.net/down.php KindEditor 编辑器的基本使用:http://kindeditor.net/docs/usage.html KindE

浅谈php常用的7大框架的优缺点

2020-07-18
一直以来,phper讨论最多的就是php各种框架的优缺点,网上的资料也是比较零散,现把几款主流的框架收集汇总一下,其中本人只是用过Yii2.Laravel.Yaf.Thinkphp这四种框架,因此大部分对各种框架的评价皆来自与网上资料,如果问题,请在评论中指出,共同进步 一.ThinkPHP ThinkPHP(FCS)是一个轻量级的中型框架,是从Java的Struts结构移植过来的中文PHP开发框架.它使用面向对象的开发结构和MVC模式,并且模拟实现了Struts的标签库,各方面都比较人性化,熟

PHP字符串和十六进制如何实现互相转换

2020-07-15
今天在做项目中,因为要调用别人网站的接口,结果需要对请求和返回的时间进行十六进制加密处理,于是在网上查了下资料谢了一个转换Demo做个记录. 如果在TP下使用可以将下面函数放到common.php中 一,加密函数 <?php /** *字符串转十六进制函数 *@pream string $str='abc'; */ function strToHex($str) { $hex = ""; for ($i = 0;$i < strlen($str);$i++) $hex.=

PHP程序守护进程化实现方法详解

2020-07-15
一般Server程序都是运行在系统后台,这与普通的交互式命令行程序有很大的区别.glibc里有一个函数daemon.调用此函数,就可使当前进程脱离终端变成一个守护进程,具体内容参见man daemon.PHP中暂时没有此函数,当然如果你有兴趣的话,可以写一个PHP的扩展函数来实现. PHP命令行程序实现守护进程化有2种方法: 一 .使用nohup nohup php myprog.php > log.txt & 这里就实现了守护进程化. 单独执行 php myprog.php,当按下ctrl

PHP使用Http Post请求发送Json对象数据代码解析

2020-07-14
因项目的需要,PHP调用第三方 Java/.Net 写好的 Restful Api,其中有些接口,需要 在发送 POST 请求时,传入对象. Http中传输对象,最好的表现形式莫过于JSON字符串了,但是作为参数的接收方,又是需要被告知传过来的是JSON! 其实这不难,只需要发送一个 http Content-Type头信息即可,即 "Content-Type: application/json; charset=utf-8",参考代码如下: <?php /** * PHP发送J

PHP基于array_unique实现二维数组去重

2020-07-14
array_unique函数就是可以处重的,它具备了这个功能了,下面我们一来看一个关于PHP使用array_unique对二维数组去重处理例子. php 5.2.9 版本增加了array_unique对多维数组的支持,在处理多维数组是需要设置sort_flags参数 一维数组的重复项: 使用array_unique函数即可,使用实例如下: 代码如下 <?php $aa = array("apple", "banana", "pear", &

PHP vsprintf()函数格式化字符串操作原理解析

2020-07-14
实例 把格式化字符串写入变量中: <?php $number = 9; $str = "Beijing"; $txt = vsprintf("There are %u million bicycles in %s.",array($number,$str)); echo $txt; ?> 定义和用法 vsprintf() 函数把格式化字符串写入变量中. 与 sprintf() 不同,vsprintf() 中的参数位于数组中.数组元素将被插入到主字符串中的

PHP如何获取Cookie并实现模拟登录

2020-07-13
一.定义Cookie存储路径 必须使用绝对路径 $cookie_jar = dirname(__FILE__)."/pic.cookie"; 二.获取Cookie 将cookie存入文件 $url = "http://1.2.3.4/"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLO

PHP number_format函数原理及实例解析

2020-07-13
实例1 格式化数字: <?php echo number_format("1000000").""; echo number_format("1000000",2).""; echo number_format("1000000",2,",","."); ?> 定义和用法 number_format() 函数通过千位分组来格式化数字. 注释:该函数支持一个

关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍

2020-07-13
介绍:Anemometer 是一个图形化显示MySQL慢日志的工具.结合pt-query-digest,Anemometer可以很轻松的帮你去分析慢查询日志,让你很容易就能找到哪些SQL需要优化 This is the Box Anemometer, the MySQL Slow Query Monitor. This tool is used to analyze slow query logs collected from MySQL instances to identify proble

PHP如何使用cURL实现Get和Post请求

2020-07-10
先来看一下在PHP中建立cURL请求的基本步骤: (1)初始化 curl_init() (2)设置变量 curl_setopt() .最为重要.有一长串cURL参数可供设置,它们能指定URL请求的各个细节.要一次性全部看完并理解可能比较困难,所以今天我们只试一下那些更常用也更有用的选项. (3)执行并获取结果 curl_exec() (4)释放cURL句柄 curl_close() 下面就看一下具体的实现: 1.Post方式实现(模拟Post请求,调用接口) <?php $url = "h

PHP var关键字相关原理及使用实例解析

2020-07-10
见很多朋友说在php中定义变量用不用var都没关系,其实不然. 看看例子,如果我这样使用var: var $a=123; echo $a; //那么程序会提示语法错误,要去掉var这个变量定义才行.直接 $a=123; echo $a; //这样才不会报错,php是弱类型语言,所以不声明类型是没问题的. 那var什么时候才能用,请看: class Test{ var $a=123;//访问控制,这里的var不用就不正常,当然你可以用public protected等关键词代替,来声明成员变量的属

PHP连接MySQL数据库操作代码实例解析

2020-07-09
方法一:普通方法(面向过程) 首先,先做出如下假设(也适用与方法二和方法三) $username=your_name; $userpass=your_pass; $dbhost=localhost; $dbdatabase=your_database; 下面是关键步骤: //生成一个连接 $db_connect=mysql_connect($dbhost,$username,$userpass) or die("Unable to connect to the MySQL!"); //

通过实例解析PHP数据类型转换方法

2020-07-09
PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: (int).(integer):转换成整形 (float).(double).(real):转换成浮点型 (string):转换成字符串 (bool).(boolean):转换成布尔类型 (array):转换成数组 (object):转换成对象 PHP数据类型有三种转换方式: 在要转换的变量之前加上用括号括起来的目标类型 使用3个具体类型的转换函数,intval().floatval().strval() [记忆:想转换的目的类型+