PHP
野蛮秘籍
这个作者很懒,什么都没留下…
展开
-
netbeans8.0 中文乱码问题
菜单栏:“工具”-->“选项”-->“字体和颜色”,在下面有一个配置文件选项,后面是一个下拉列表,有5项可以进行选择,默认是“netbeans”,将这个改成其他的选项,下面有一个预览框,如下图:在netbeans的左侧的项目列表中,右键单击项目,在出现的菜单栏中选中最下面的“属性”项,出现一个“项目属性”对话框,如下图:单击右上角的“X”图标,关闭“原创 2014-04-13 20:08:45 · 1953 阅读 · 0 评论 -
PHP流程控制替代语法(if\for\foreach\while\switch case)
PHP 提供了一些流程控制的替代语法,包括 if,while,for,foreach 和 switch。替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,endwhile;,endfor;,endforeach; 以及 endswitch;。主要用于html展示页面。1、if<?php if ($a == 5): ?>A is equal to 5<?p原创 2017-04-14 10:51:59 · 1654 阅读 · 0 评论 -
PHP中反引号应用
反引用的本质就是在操作系统执行该命令。 举几个例子,本人在mac下的测试php交互模式yaoyakundeMacBook-Air:webapp yaoyakun$ php -aInteractive shellphp > $date = `date`;php > echo $date;2017年 4月14日 星期五 17时13分41秒 CSTphp > $ls = `ls -al`;ph原创 2017-04-14 17:29:30 · 2578 阅读 · 0 评论 -
PHP通用字符串截取函数
/** * 字符串截取通用函数 * @param string $str 要截取的字符串 * @param integer $start 截取开始位置 * @param integer $length 截取长度 * @param string $charset 字符串编码格式 * @param boolean $suffix 是否显示省略符号 * @re转载 2017-05-03 11:19:24 · 1331 阅读 · 0 评论 -
CGI,FastCGI,PHP-CGI与PHP-FPM
CGICGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。FastCGIFastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算转载 2017-05-11 11:18:57 · 288 阅读 · 0 评论 -
PHP中变量的销毁
PHP的变量或对象的销毁可以分成显式销毁和隐式销毁: 1、显式销毁,当对象没有被引用时就会被销毁,所以我们可以unset或为其赋值NULL; 2、隐式销毁,PHP是脚本语言,在代码执行完最后一行时,所有申请的内存都要释放掉.从上面两种销毁方式中,我们可以总结出销毁的三种方法:那就是1、unset(),2、$varname=null,3、析构函数__destruct()。举例来说:class原创 2017-04-17 15:38:49 · 13628 阅读 · 0 评论 -
global 与 $GLOBALS用法
$GLOBALS[‘var’] 是外部的全局变量$var本身。 global $var 是外部$var的同名引用或者指针。举例说明下$var1 = 1;$var2 = 2;function test() { $GLOBALS['var2'] = &$GLOBALS['var1'];}test();echo $var2; // 输出结果为 1$var1 = 1;$var2 = 2转载 2017-05-12 15:03:07 · 2481 阅读 · 0 评论 -
phpstorm git使用
1、配置git2、新建项目3、关联远程服务器开发的时候一般我们会有自己的github服务器(拉取项目代码),测试服务器(部署代码),本地(git),所以我们在修改完代码后,应该先部署到测试服务器上进行测试。这就需要本地与测试服务器之间进行关联。phpstorm里有deploy工具,非常方便,只需简单配置即可。点击添加点击options 配置 ctrl+s自动原创 2018-01-16 09:49:06 · 45687 阅读 · 2 评论 -
angularjs 时间格式问题
PHP开发中,一般存的时间戳是秒数,angularjs的时间戳是毫秒数,所有在视图里处理时间的时候,需要把秒 * 1000 转换为毫秒// 这里的dt1单位是秒{{ dt1 * 1000 | date:'yyyy-MM-dd HH:mm:ss' }}如果不转化为毫秒,就会出现日期显示1970年的问题原创 2018-01-16 10:02:27 · 899 阅读 · 0 评论 -
约瑟夫问题
问题描述约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1 开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。/** * get_king_monkey 获取猴大王 * @param int $n 猴子数目 * @param int $m原创 2018-01-16 14:48:12 · 274 阅读 · 0 评论 -
静态方法里不能使用$this
静态方法随着类的加载而加载,静态方法是优先于对象而存在的。当我们加载一个类的时候,对象还没有存在,而this代表的是对象的引用,试问当我们加载类的时候对象都没有,又怎么可以使用this呢?答案显而易见this是指当前对象,静态方法是通过类调用的方法,不需要实例化,既然不需要实例化,就没有当前对象,既然没有当前对象,就不会有this原创 2018-01-17 11:02:46 · 4591 阅读 · 0 评论 -
$_SERVER中的SERVER_NAME 和HTTP_HOST的区别
当满足以下三个条件时,两者会输出相同信息。 1. 服务器为80端口 2. apache的conf中ServerName设置正确 3. HTTP/1.1协议规范不同点:通常情况: _SERVER[“HTTP_HOST”] 在HTTP/1.1协议规范下,会根据客户端的HTTP请求输出信息。 _SERVER[“SERVER_NAME”] 默认情况下直接输出apache的配置文件htt转载 2018-01-17 14:34:16 · 8685 阅读 · 0 评论 -
PHP易犯错误集锦
1、布尔值问题 以下情况的值均为false:布尔值 FALSE 本身整型值 0(零)浮点型值 0.0(零)空字符串,以及字符串 “0”不包括任何元素的数组特殊类型 NULL(包括尚未赋值的变量)// 字符串falsevar_dump((bool) "false"); // bool(true)// 类型自动转换问题 字符串all会转换成int型 0var_dump原创 2018-01-09 13:36:13 · 240 阅读 · 0 评论 -
最大连续和
思路:设sum[i] 为前i个元素中,包含第i个元素且和最大的连续子数组,result 为已找到的子数组中和最大的。对第i+1个元素有两种选择:做为新子数组的第一个元素、放入前面找到的子数组。 sum[i+1] = max(a[i+1], sum[i] + a[i+1]) result = max(result, sum[i])// 方法一function max_sum_arr($ar原创 2018-01-18 14:56:54 · 256 阅读 · 0 评论 -
PHP获取ip地址(REMOTE_ADDR,HTTP_VIA, HTTP_X_FORWARDED_FOR)
一、没有使用代理服务器的情况: REMOTE_ADDR = 您的 IP HTTP_VIA = 没数值或不显示 HTTP_X_FORWARDED_FOR = 没数值或不显示二、使用透明代理服务器的情况:Transparent Proxies REMOTE_ADDR = 最后一个代理服务器 IP HTTP_VIA = 代理服务器 IP HTTP_X_FORWARDED_F...转载 2018-12-13 22:13:52 · 2772 阅读 · 0 评论 -
PHP 设置页面头信息
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');header('Cache-Control: no-store, no-cache, must-revalidate');header('Cache-Control: pos原创 2017-04-14 10:14:14 · 653 阅读 · 0 评论 -
PHP 常用命令行
1、PHP运行指定文件php -f test.php (-f 可省略)2、命令行直接运行PHP代码php -r "phpinfo();"如果结果太长,还可以 php -r “phpinfo();” | less 分页展示3、交互模式运行PHP简单的运算 control + c/z 或者 exit 退出交互模式函数上面输出结果中返回的数据类型为 NULL。这个问题可以通过要求 php 交互 s原创 2017-04-13 16:37:51 · 14196 阅读 · 1 评论 -
php开发环境配置+开发工具(zendstudio集成zf框架)配置及问题集锦
一 、手动配置php环境(自定义安装)php版本: php-5.3.5-Win32-VC6-x86apache版本:httpd-2.2.22-win32-x86-no_ssl_2.2.22.0.msimysql版本:MySQL Server 5.11:安装apache时遇到80端口被占用问题① 如果是迅雷,或者其他非system进程占用80端口,可直接在cmd命令行 输原创 2012-12-05 21:35:57 · 1815 阅读 · 0 评论 -
关于WAMP中Alias directories的使用说明
本文转自http://blog.sina.com.cn/s/blog_6da748d601013f8y.html转载 2014-04-09 00:28:59 · 2513 阅读 · 0 评论 -
PHP抽象类
抽象类的特性 1、定义为抽象的类不能被实例化。 2、如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。 3、被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。 4、继承一个抽象类的时候,子类必须定义父类中的所有抽象方法(这些方法的访问控制必须和父类中一样(或者更为宽松)。)demoabstract class AbstractClass{原创 2016-03-29 14:50:51 · 5212 阅读 · 4 评论 -
PHP---Final关键字
1、如果父类中的方法被声明为 final,则子类无法覆盖该方法class BaseClass { public function test() { echo "BaseClass::test() called\n"; } final public function moreTesting() { echo "BaseClass::moreTesting()原创 2016-03-30 16:51:44 · 3639 阅读 · 0 评论 -
PHP高效率写法
1.尽量静态化:如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。当然了,这个测试方法需要在十万级以上次执行,效果才明显。其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法在程序运行中生成内存,所以静态方法可以直接调用,实例方法要先成生实例,通过实例调用方法,静态速度很快,但是多了会占内存。任何语言转载 2016-03-07 17:44:47 · 402 阅读 · 0 评论 -
IOS使用信鸽推送收不到消息的问题
最近在做一个项目,需要网App端推送消息,之前用过极光推送,没遇到什么问题,这次用了腾讯的信鸽推送,推送消息的时候Android是没有问题的,IOS每次推送的时候,服务端给我返回的消息都是成功,可是APP端死活接收不到消息。最后排查的原因也是很恶心。(太大意)$push_ios = XingeApp::PushAllIos(accessID,secret,$content,XingeApp::IOS原创 2016-04-29 10:36:32 · 7373 阅读 · 4 评论 -
PHPExcel在linux环境下导出报500错误
原先我导出为 XLSX 格式,用的是objWriter=IOFactory::createWriter(objWriter = IOFactory::createWriter(objPHPExcel, ‘Excel2007’);报错,纠结就纠结在,在开发环境和测试环境都没问题,放在生产环境直接 500 错误。后来我改成导出 XLS 格式,objWriter=IOFactory::createWrit原创 2016-04-29 15:43:12 · 4650 阅读 · 3 评论 -
PHP常用常量
1、FILE 在app.php输出如下echo __FILE__;结果为: D:\www\laravel5.1\bootstrap\app.php2、DIR 假设1中代码在bootstrap目录echo __DIR__; // 等同于 dirname(__FILE__)结果为: D:\www\laravel5.1\bootstrap原创 2016-03-23 15:37:43 · 1260 阅读 · 0 评论 -
HTTP 断点续传(PHP实现)
一、断点续传原理所谓断点续传,也就是要从文件已经下载的地方开始继续下载。在以前版本的 HTTP 协议是不支持断点的,HTTP/1.1 开始就支持了。一般断点下载时才用到 Range 和 Content-Range 实体头。1.1 不使用断点续传get /down.zip http/1.1accept: image/gif, image/x-xbitmap, image/jpeg, image/pj原创 2016-05-04 10:28:45 · 2936 阅读 · 0 评论 -
PHP部署问题集锦(不断更新)
1:yum安装LNMP环境时,需要设置session权限,目录/var/lib/php/session 保证有写的权限原创 2016-03-18 16:53:45 · 426 阅读 · 0 评论 -
PHP验证终端类型是否为手机
/** * 判断当前访问的用户是 PC端 还是 手机端 返回true 为手机端 false 为PC 端 * @return boolean */function isMobile(){ $useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; //echo原创 2016-05-31 16:04:07 · 1228 阅读 · 0 评论 -
PHP面试(一)
笔试部分 1、比较简单 B2、这个需要注意下,count统计的是数组中的元素个数,其他情况返回1,故选A。3、Session是可以使用的,可以通过url传递sessionID,但是这是不安全的做法,而且还需要在php.ini中开启// 允许SessionID通过URL明文传输//在这种情况下虽然已经允许了SessionID通过URL明文传输,担是同时又开启//了仅使用cookies存放会话S原创 2016-06-01 17:07:30 · 648 阅读 · 0 评论 -
PHP面试(二)
1、echo,print,printf有什么区别? ①echo 输出一个或多个字符串,它不是一个函数(它是一个语言结构),没有返回值。 ②print 输出字符串 总是返回1 ,它实际上不是一个函数(它是一个语言结构)。 ③printf 输出格式化字符串,返回输出字符串的长度。2、列举你知道的魔术方法 ①.__construct,__destruct __constuct构建对象的时被调用;原创 2016-06-04 14:37:37 · 530 阅读 · 0 评论 -
PHP ArrayAccess接口
这里举例子来说明各方法如何被调用class obj implements ArrayAccess { private $container = array(); public function __construct() { $this->container = array( "one" => 1, "two"原创 2016-05-23 12:59:04 · 477 阅读 · 0 评论 -
PHP new staic() 和 new self()的区别
self refers to the same class whose method the new operation takes place in.static in PHP 5.3’s late static bindings refers to whatever class in the hierarchy which you call the method on.self:: 或者 CLA原创 2017-04-12 16:30:41 · 616 阅读 · 0 评论 -
phpstorm+xdebug远程调试配置
1、xdebug的安装参考 :http://blog.csdn.net/fationyyk/article/details/78963683(mac版本)centos下安装// 下载git clone git://github.com/xdebug/xdebug.git// 解压tar -xzf xdebug-2.5.5.tgzcd xdebug-2.5.5// 本人在原创 2018-12-15 07:43:18 · 1737 阅读 · 0 评论