PHP
文章平均质量分 67
大叔说码
笨鸟先飞!切莫妄自菲薄!1548604122@qq.com
展开
-
Ubuntu 16.04搭建LAMP开发环境
基本设置1.配置网络环境管理员给分配了一个静态IP,所以还需要进一步配置网络环境配置DNS:右上角网络连接->编辑链接->有线连接1->IPv4设置->DNS服务器:202.112.80.106->保存 登陆网关:对于校园网用户来说,登陆网关才能访问外网 测试: ping www.baidu.com2.设置root密码sudo passwd1切换到root用户:su ...转载 2018-05-23 18:52:32 · 341 阅读 · 0 评论 -
php实现阿里云API短信验证发送代码
//参数说明 //$RecNum 目标手机号 //$ParamString 短信模板中的变量;数字需要转换为字符串;个人用户每个变量长度必须小于15个字符。 //$SignName 管理控制台中配置的短信签名(状态必须是验证通过) //$TemplateCode 管理控制台中配置的审核通过的短信模板的模板CODE(状态必须是验证通过) //$AccessKeyId 阿里云颁发给原创 2017-04-09 23:31:57 · 3361 阅读 · 0 评论 -
PHP7的一些新特性
①:支持函数的强制参数类型指定,如:<?php// Coercive modefunction sumOfInts(int ...$ints){ return array_sum($ints);}var_dump(sumOfInts(2, '3', 4.1)); // int(9)②:返回类型也在强制进行规定,如:<?phpfunction arraysSum原创 2016-12-25 13:35:24 · 429 阅读 · 0 评论 -
用PHP写一段代码,实现不使用第3个变量,交换$a、$b的值,$a、$b的初始值自己定。(五种方法实现)
下面用五种方法来实现不用不使用第3个变量,交换$a、$b的值$a = 11;$b = 33;// 方法一:list($a,$b) = array($b,$a);echo $a.'-'.$b,'';// 方法二:$a = $a . '-' . $b;$a = explode('-',$a);$b = $a[0];$a = $a[1];echo $a.'-'.$b,''原创 2016-12-21 11:30:50 · 5270 阅读 · 0 评论 -
PHP实现重载
首先,OOP中的重载必须满足两个条件:①:相同函数名,但函数参数的个数不一样。②:函数的参数类型也不一样但对于弱类型的PHP语言来说是没法满足的你以对函数多添加参数,但对于弱类型的PHP语言来说,只是相当于多传了个临时变量,它不会因为调用函数时参数的个数和定义函数时参数个数不一致而报错或者不调用,例如:class Calc { public function are原创 2016-12-09 17:49:41 · 576 阅读 · 0 评论 -
GET方法和POST方法的区别
下面从http协议的角度来描述get方法和post的区别:1、 get重点是从服务器上获取资源,post重点是向服务器发送资源2、 get传输数据是通过URL请求,以id=value的形式,置于url后,并用?连接,多个请求数据间用‘&’连接,这个过程是用户可见的post传输数据是利用http的post机制,将字段和对应的值封存在请求实体中发送给服务器,这个过程用户是不可见的3、原创 2016-12-05 19:50:41 · 1377 阅读 · 0 评论 -
PHP的垃圾回收机制
php作为脚本语言,页面结束即释放其所占内存,当一个php线程结束,当前所占用的内存空间都会被销毁,当前程序中所有的对象也会同时被销毁,php中有个GC进程(Gabage Collection),它一般随每起一个session而开始运行的,其目的是为了在session文件过期(失效)后,能自动销毁删除这些文件,在php中,如果没有任何变量指向这个对象,那么这个对象就成为垃圾,php会在原创 2016-12-05 14:48:23 · 422 阅读 · 0 评论 -
PHP面向对象编程
OOP(object oriented programming)—— 面向对象面向对象是通过一个个类/类对象堆砌起来组织程序的,面向的是对象OOP具有三大特性:1:封装性:将一个类的使用和实现分开,只保留部分接口和方法去外部联系开发人员需关注这个类如何使用,而不去关心其具体如何实现,这样就能实现MVC分工合作,也能有效避免程序间相互依赖,实现代码模块间松耦合(紧偶合就是原创 2016-12-09 20:12:45 · 399 阅读 · 0 评论 -
记几个页面乱码的解决方法
如果我们的网站用的是utf-8编码,为防止乱码出现,需要注意以下地方:①:php连接数据库,指定数据库编码:mysql_set_charset('utf8');/*mysql_set_charset ( string $charset [, resource $link_identifier = NULL ] )$link——MySQL 连接。如不指定连接标识,则使用由 mysql_原创 2016-12-09 19:33:29 · 609 阅读 · 0 评论 -
PHP 实现中文转全拼音
不啰嗦,直接上代码,如下:<?phpclass pin{ function Pinyin($_String, $_Code='gb2312'){ $_DataKey = "a|ai|an|ang|ao|ba|bai|ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|bo|bu|ca|cai|can|cang|ca原创 2017-06-17 17:31:00 · 1092 阅读 · 0 评论 -
php 正则抓取网页的table数据
不啰嗦,上代码<?phpclass fetchData { public function tuandai($url){ if($str === '') { return false; } $fcontents=file_get_contents($url); $table_data = preg_match_all('原创 2017-07-11 12:12:14 · 5697 阅读 · 0 评论 -
PHP导出上万条数据
php利用缓冲实现动态输出(ob_flush)下面以PHP导出上万条数据为例,上代码:// 导出测试 function explode() { ob_end_clean(); header("Content-type:text/csv"); header('Content-Disposition: attachment;filename=test_' . time(...原创 2018-04-12 18:04:54 · 1535 阅读 · 3 评论 -
PHP操作Redis参考手册
String 类型操作string是redis最基本的类型,而且string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象$redis->set('key','TK');$redis->set('number','1');$redis->setex('key',5,'TK'); //设置有效期为5秒的键值$redis-&g...转载 2018-03-02 10:59:35 · 883 阅读 · 0 评论 -
TortoiseGit 连接Git服务器不用每次输入用户名和密码的方法
本文转自:http://www.muma666.com/zblog/?id=11每次git push 都要输入用户名和密码。虽然安全,但在自己电脑上每次都输有些麻烦,如何记住用户名和密码呢? 试了很多方法,找到这个最简单,亲测可行。当你配置好git后,在C盘C:\Users\administrator下的 .gitconfig 的文件(如果找不到,直接搜索),里面会转载 2017-09-21 14:31:44 · 503 阅读 · 0 评论 -
windows下安装redis及PHP安装php-redis扩展(.dll)
一、安装Redis1、windows下安装redis下载地址https://github.com/dmajkic/redis/downloads。下载到的Redis支持32bit和64bit。根据自己实际情况选择,我选择32bit。把32bit文件内容拷贝到需要安装的目录下,比如:D:\dev\redis-2.4.5。2、redis服务器端启动打开一个c转载 2017-08-23 17:45:43 · 2951 阅读 · 0 评论 -
PHP curl_init函数——爬虫必备
原文地址:http://www.jb51.net/article/25193.htm我们可以使用PHP的扩展库-Curl,这个扩展库通常是默认在安装包中的,你可以它来获取其他站点的内容,也可以来干别的。 备注:这两段代码需要php_curl扩展库的支持,查看phpinfo(),如果curl support enabled则表示支持curl库。 1、Windows下的PHP开启curl库转载 2017-08-11 17:49:16 · 2381 阅读 · 0 评论 -
php 根据标签的属性值来爬取内容的正则表达式
最近在学着做数据爬虫,经常遇到的一个问题是,经常要根据某个标签的属性值来获取该表下面的内容,后来找到了一个封装的方法,挺好用的,下面看代码:/** * $html-需要爬取的页面内容 * $tag-要查找的标签 * $attr-要查找的属性名 * $value-属性名对应的值 */ public function get_tag_data($html,$tag,$at原创 2017-08-03 12:06:14 · 4275 阅读 · 0 评论 -
php操作Redis
phpredis是php的一个扩展Redis::__construct构造函数$redis = new Redis();connect, open 链接redis服务参数host: string,服务地址port: int,端口号timeout: float,链接时长 (可选, 默认为 0 ,不限链接时间)注: 在redis.conf中也有时间,默认为300pc原创 2017-07-25 14:48:37 · 449 阅读 · 0 评论 -
Apache负载均衡设置的三大策略原则
Apache作为LoadBalance前置机分别有三种不同的部署方式,分别是:1 )轮询均衡策略的配置进入Apache的conf目录,打开httpd.conf文件,在文件的末尾加入:ProxyPass /balancer://proxy/ #注意这里以"/"结尾 BalancerMember http://192.168.6.37:6888/转载 2016-11-26 16:40:10 · 6291 阅读 · 0 评论 -
简述asp、php、jsp的区别
下面简述一下asp、php、jsp的区别:ASP:ASP是一个web服务器的开发环境,它采用的开发语言是 VB Script脚本语言,它可产生和运行动态的、交互的、高性能的web服务器应用PHP:PHP是一种跨平台的服务器的嵌入式的脚本语言,它大量地借用了C、Java、perl语言的语法,并耦合PHP自己的特性,使web开发者能快速地写出动态生成页面它目前支持绝原创 2016-12-06 22:59:52 · 1863 阅读 · 0 评论 -
解决羊生羊问题
问题是这样:一种羊,第二年生一个小羊,第四年生一个小羊,第五年死,二十年后有多少羊?$arr = array(1,0,0,0,0);for($i=1;$i<=20;$i++){ $tmp = $arr[1] + $arr[3]; array_unshift($arr,$tmp); array_pop($arr);}print_r($arr);echo array_sum($a原创 2016-06-30 11:17:21 · 1753 阅读 · 0 评论 -
php 中的heredoc与nowdoc的区别
php中heredoc与nowdoc都是用来定义大段文本的,它们的区别就是像单双引号的区别一样,heredoc(双引号) 能解析变量,能够对转义字符进行转义,nowdo(单引号)不能解析变量,不能转义$str3 = <<<INTROhello world adjo k now; $var;INTRO;echo $str3,'';// --------------原创 2016-06-29 23:54:03 · 588 阅读 · 0 评论 -
php解决百钱买百鸡问题、过路口问题以及打印九成九乘法表
1:百钱买百鸡: 公鸡五文钱一只,母鸡三文钱一只,小鸡一文钱买三只,现在有100文钱共买了100只鸡,问公鸡、母鸡和小鸡哥有多少只?for($g = 1;$g<20;$g++){ for($m = 1;$m<33;$m++){ $x = 100 - $g - $m; if(($g + $m + $x == 100) && ($g*5 + $m*3 + $x/3) ==10原创 2016-06-29 22:01:27 · 2245 阅读 · 0 评论 -
php 字符串转换成数字,数字转换成字符串以及布尔的假
字符串到数字的转换,从左到右截取,直到碰到不合法的数字,截取出来的部分转成数字$a = 'world12.5hello099';$a = $a + 3;var_dump($a); // int 3数字到字符串的转换,直接把数字当成字符串使用$b = 123;$b = $b . 'hello';echo $b; // 123hello到布尔型的判断,以下值,都被当成布尔的假原创 2016-06-29 21:43:46 · 2669 阅读 · 0 评论 -
php做一个简单的分页类
分页类原理及所需变量:原理的3个变量:总条数 $total每月条数 $perpage当前 $page原理公式$cont = ceil($total/$perpage); // 相除,向上取整明白如果是第$page页,那么应该显示第几条到第几条?第$page页,说明前面已经跳过了$page-1页,每页又是$perpage条跳原创 2016-06-29 19:58:57 · 899 阅读 · 0 评论 -
解决PHP生成验证码时“图像因其本身有错无法显示”的错误
前段时间在iis7服务器中部署用php做的网站时,发现验证码显示不出来,报500错误!可是我在本地还能好好地显示,百思不得其解,于是做了个测试,打印了一下phpinfo(),发现竟然没有出现gd库信息!!!于是果断打开php.ini,查找了extension=php_gd2.dll,发现我gd库已经开了(把extension=php_gd2.dll前面的 ; 去掉),这就奇怪了,是不是我的扩展模板原创 2016-06-29 15:34:34 · 3262 阅读 · 0 评论 -
通过IP找到城市的API接口
淘宝的IP接口地址:http://ip.taobao.com/instructions.php 腾讯的IP地址API接口地址:http://fw.qq.com/ipaddress http://ip.qq.com/cgi-bin/indexhttp://ip.qq.com/cgi-bin/searchip?searchip1=123.120.17转载 2016-07-09 19:36:04 · 13889 阅读 · 0 评论 -
开源免费天气预报接口API以及全国所有地区代码!!(国家气象局提供)
国家气象局提供的天气预报接口接口地址:http://www.weather.com.cn/data/sk/101010100.htmlhttp://www.weather.com.cn/data/cityinfo/101010100.htmlhttp://m.weather.com.cn/data/101010100.html对于第三个接口,返回转载 2016-07-09 19:25:41 · 950 阅读 · 0 评论 -
php 递归创建目录
递归创建目录要求:自己写函数完成一次创建 ./a/b/c/d/e 目录function createdir($path) { // 判断传过来的$path是否已是目录,若是,则直接返回true if(is_dir($path)) { return true; } // 走到这步,说明传过来的$path不是目录原创 2016-07-04 00:08:31 · 1466 阅读 · 0 评论 -
php 递归删除目录
php递归删除目录需要注意的是原本就自动带有的“.”和“..”,还有就是如果目录中有文件,就不能直接删除明白这点,我们就开始删吧:(删前确保./a目录存在哈)/**递归删除目录**/function deldir($path) { // 不是目录,直接返回 if(!is_dir($path)) { return NULL; }原创 2016-07-04 00:49:06 · 650 阅读 · 0 评论 -
php设计模式
该文章转正来源:https://www.ibm.com/developerworks/cn/opensource/os-php-designptrns/工厂模式最初在设计模式 一书中,许多设计模式都鼓励使用松散耦合。要理解这个概念,让我们最好谈一下许多开发人员从事大型系统的艰苦历程。在更改一个代码片段时,就会发生问题,系统其他部分 —— 您曾认为完全不相关的部分中也转载 2016-12-05 23:35:54 · 267 阅读 · 0 评论 -
SESSION是否依赖COOKIE问题总结
Cookie与 Session,一般认为是两个独立的东西,Session采用的是在服务器端保持状态的方案,而Cookie采用的是在客户端保持状态的方案。但为什么禁用Cookie就不能得到Session呢?因为Session是用Session ID来确定当前对话所对应的服务器Session,而Session ID是通过Cookie来传递的,禁用Cookie相当于失去了Session ID,也就得不到原创 2016-12-01 00:21:23 · 4163 阅读 · 0 评论 -
ThinkPHP3.2.3 U()方法的使用总结
使用thinkphp3.2的朋友都知道,默认情况下,运行入口文件index.php时,系统会自动生成一个应用目录(当然还有其他目录文件,此处忽略),应用目录下面,会默认生成Home模块,那这个模块一般都是用于前端业务逻辑的开发,如果我们需要生成一个Admin模块用于后台应用,我们可以在项目根目录下面定义一个admin.php的入口文件注意:admin.php文件中定义的内容将会直接关系原创 2016-10-17 11:52:32 · 19034 阅读 · 0 评论 -
IIS7 实现301永久重定向
一个网站,我们绑定了很多个域名,例如有:www.xxx.com、www.xxx.cn、xxx.cn、xxx.com.cn等等,现在我想实现当输入那些域名都跳转到到某一个域名上,例如就是www.xxx.com,又或者是跳转到到其他域名上,这时,301重定向就能实现这个需求具体操作如下:比如,你的网站xxx绑定了www.xxx.com、xxx.cn两个域名(以两个域名为例,多个的操作一样),现原创 2016-09-12 14:55:03 · 19820 阅读 · 2 评论 -
php 文件上传出现乱码问题
我们知道,在文件上传时,如果没有什么修改,服务器保存附件名字就是文件本身的名字,但有时我们上传附件完毕后,到指定的目录查看上传完成的附件时却发现附件名字出现了乱码?怎么解决这种现象呢?其实很简单,我们来看看其原理是怎么样的:首先我们看文件上传流程:本地文件--------->上传(php程序处理)---------->服务器本地文件名字的字符集为gb2312(通常简体中文windo原创 2016-07-09 11:06:49 · 919 阅读 · 0 评论 -
php 验证码可设置字符大小,颜色,可换背景图,可设置扭曲度
<?php/**复杂一点的验证码**/// 造画布$file = './code.png';$im = imagecreatefrompng($file);// 造背景颜色$gray = imagecolorallocate($im,200,200,200);// 填充画布背景imagefill($im,0,0,$gray);// 造随机字体颜色$color原创 2016-07-04 16:12:18 · 2595 阅读 · 0 评论 -
php 制作文件上传类
上传文件需要注意的地方: 1:配置允许的后缀 2:配置允许的大小 3:随机生成目录 4:随机生成文件: 5:良好的报错的支持下面以单文件上传类为例,看代码:class UpTool { protected $allowExt = 'jpg,jpeg,bmp,png'; prot原创 2016-07-04 11:11:08 · 331 阅读 · 0 评论 -
php 递归无限级分类应用之打印子栏目,打印子孙栏目,打印家谱树
以下面的$area数组为例,运用递归分别实现打印子栏目,子孙栏目,家谱树$area = array(array('id'=>1,'name'=>'安徽','parent'=>0),array('id'=>2,'name'=>'海淀','parent'=>7),array('id'=>3,'name'=>'淮溪县','parent'=>5),array('id'=>4,'name'=>'原创 2016-07-04 10:08:12 · 680 阅读 · 0 评论 -
smarty在普通php页面使用流程
smarty在普通php页面使用流程以及为什么要学习smarty模板,学习smarty有什么作用原创 2016-06-24 11:14:45 · 740 阅读 · 0 评论