PHP - 技术教程文章

PhpStorm最新版 2017激活办法

最新版PhpStorm 2017正式版改进了PHP 7支持,改进代码完成功能。PhpStorm 是最好的PHP开发工具,使用它进行PHP开发将会让你感觉到编程的乐趣。终于从oschina看到了注册方法:phpstorm已经升级到2017.1,原注册码失效,2017.1.2注册方法:注册时选择“License server”输入 http://idea.lanyus.com/ (已被封杀)或者:http://idea.qinxi1992.cn/点击“OK”快速激活JetBrains系列产品另一种方法是:直接用浏览器打开 http://idea.la...

【php】字符串

1.字符串的定义方式:1.单引号 ‘‘2.双引号 ""3.定界符 <<<注意结束时的使用例:$str = <<<myStr字符串内容myStr;(此处要顶格写)2.常用的字符串输出函数:1.echo: 支持输出一个或多个变量,速度比print快一些2.print: 用法与echo相似,但是要比echo慢一些3.die(): 别名exit(),终止当前脚本执行,结束时可以提示一条语句4.print_r(): 与var_dump()函数使用方法相似,都是格式化变量并直接输出, 可以解析数组,对象等类型,常...

数组键值替换 php

用到的php函数 substr_replace(string,replacement,start,length) strlen();实现功能 根据用户的权限 银行卡隐藏中间12位数字 $admin = array("超级管理员","财务经理","财务查询"); $admin_name = $_G[‘user_result‘][‘typename‘]; //检测当前管理员用户名 if( !in_array($admin_name,$admin) ){ foreach( $result[‘list‘] as $key => $value ){ $acc_result = $value[‘account‘]; if($acc_result==""){ $acc...

php截取某二个特殊字符串间的某段字符串

在php开发的过程中,有时候会用到截取某二个特殊字符串间的某个字符串,并对这个字符串做特殊的处理,那么对截取出来的字符串做什么特殊处理我们暂时不管,我们今天先讲php截取某二个特殊字符串间的某个字符串的方法,下面我们以截取[start]到[/end]之间的字符串,其中的代码如下:<?php header('content-type:text/html;charset=utf-8'); $a=" 互联网出版许可证编号[start]华强北在线[/end]华强北商城,[start] ~~2014年,互联网出版...

php 常用 正则 表达式 匹配 符号 解释

常用正则表达式全部符号解释字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,‘n‘ 匹配字符 "n"。‘\n‘ 匹配一个换行符。序列 ‘\\‘ 匹配 "\" 而 "\(" 则匹配 "("。^匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 ‘\n‘ 或 ‘\r‘ 之后的位置。$匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 ‘\n‘ 或...

php中iconv函数使用方法

iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库。 1、下载libiconv函数库http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz; 2、解压缩tar -zxvf libiconv-1.9.2.tar.gz; 3、安装libiconv #configure --prefix=/usr/local/iconv #make #make install 4、重新编译php 增加编译参数--with-iconv=/usr/local/iconv windows下最近在做一个小偷程序,需要用到iconv函数把抓...

PHP 配置文件中open_basedir选项作用

如下是php.ini中的原文说明以及默认配置: ; open_basedir, if set, limits all file operations to the defined directory ; and below. This directive makes most sense if used in a per-directory or ; per-virtualhost web server configuration file. This directive is ; *NOT* affected by whether Safe Mode is turned On or Off. open_basedir = . open_basedir可将用户访问文件的活动范围限制在指定的区域,通常是...

thinkphp实现数组分页示例

在thinkphp的框架下实现分页。公司的网站基于Thinkphp框架,一直久闻thinkphp的大名,终于有机会实战了。thinkphp是MVC架构的,MVC对于任何ITers来说都不陌生,模型(model)-视图(view)-控制器(controller)。他将逻辑和数据分开处理,少了很多繁琐的过程。其实在官方的资料中已经详细的介绍了怎么分页,传送门:http://document.thinkphp.cn/manual_3_2.html#data_page可是并不适用于数据已经从DB中取出,并且转换为数组的情况,我...

InitPHP框架搭建高可用WEB应用01:创建项目【图】

创建Hello World项目1. 下载框架选择最新的版本,进行下载。框架下载地址:http://initphp 2. 创建项目目录创建项目目录,目录示意图:1. 文件夹initphp是最新下载的initphp框架文件夹2. conf/comm.conf.php 放置项目配置文件3. web/controller/ 文件夹放置控制器文件4. index.php是项目入口文件说明:使用initphp开发的项目是单入口,所有请求都会通过index.php进行分发。 3. index.php入口文件index.php代码示例 入口文件非常简单...

PHP array_merge()函数实现多个数组合并【代码】

php代码段:$arr1 = array( ‘name‘ => ‘小明‘, ‘sex‘ => 1, ‘age‘ => 24, );$arr2 = array( ‘type‘ => ‘IT‘, ‘status‘ => ‘正常‘, ‘flag‘ => 1, ‘sort‘ => 100, );//假如以上两个数组是从两个表里读取的数据,现在需要将他们合并到一起 $userInfo = array_merge($arr1, $arr2);print_r($userInfo);output:array( ‘name‘ => ‘小明‘, ‘sex‘ => 1, ‘age‘ => 2...

PHP 错误与异常 笔记与总结(11 )register_shutdown_function() 函数的使用【代码】

通过 register_shutdown_function 方法,可以让我们设置一个当执行关闭时可以被调用的另一个函数。也就是说,当我们的脚本执行完成或者意外死掉导致 php 执行即将关闭时,我们的这个函数会被调用。【使用场景】① 页面被(用户)强制停止② 程序代码意外终止或超时③ php4 中没有析构函数,可以使用该函数模拟析构函数 shutdown.php<?php header("content-type:text/html;charset=utf-8"); class Shutdown{publicfunction endScrip...

sublime3 + chrome + xdebug调试php代码【代码】

由于phpstrom太吃内存,加上公司机器太过古董,所以放弃了phpstromIDE,转而使用sublime3这个轻量级的编辑器。轻量的结构加上优美的插件包管理package controll造就了轻量且优美的sublime3IDE;当然sublime的调试功能还是没有phpstrom和zend studio强大,但是对我来说,已经够用了。由于网上资料大都不齐全,集成这个调试环境,花费了我大量时间,不过结果是好的,终于可以用了。开心。下面就说说主要的集成流程:1.开启php的xdebug...

PHP序列化与反序列化学习

<h6>序列化与反序列化学习</h6><p>把对象转换为字节序列的过程称为对象的序列化;把字节序列恢复为对象的过程称为对象的反序列化。</p><pre><code><?phpclass UserInfo { public $name = &quot;admin&quot;; public $age = 1; public $blog = &quot;file:///var/www/html/flag.php&quot;;}$data = new UserInfo();echo serialize($data);?></code></pre><p>页面显示:<br /><code>O:8:&quot;UserInfo&quot;:3:{s:4:&quot...

ThinkPHP3快速入门教程三:查询语言

一、查询语言简介: ThinkPHP内置了非常灵活的查询方法,可以快速的进行数据查询操作,查询条件可以用于读取、更新和删除等操作,主要涉及到where方法等连贯相关方法操作即可,此框架查询系统可以解决不同数据库的差异性,因些我们把框架的这一查询方式称之为查询语言。使其查询操作更加简单易懂。 二、查询方式:ThinkPHP可以支持直接使用字符串作为查询条件,但是大多数情况推荐使用索引数组或者对象来作为查询条件,因为会更加安...

PHP继承【代码】

PHP继承这时一篇迟来的更新,因为它应该在前两天就被更新了,但是由于我英语四级没过!没过!没过!导致我心情低落,所以就玩了几天的游戏,哦不,进行了几天反思,痛定思痛 痛何如哉!以下都是我个人的理解,有错的地方还望不吝赐教。 为什么需要继承? 继承就是 一个子类通过extends父类把父类的属性和方法继承下来。 假设现在现在需要写两个类,小学生类和高中生类,小学生会说话,走路,考试,高中生也会说话走路,考试,那么如...

php smarty 二级分类代码和模版循环例子【图】

二级分类的数据表结构如下: PHP代码如下 复制代码 代码如下:/** @ 文章分类 含二级分类 @ param int $rootnum -- 一级分类数量 @ param int $childnum -- 二级分类数量 @ 返回值 array @ date 2011.2.24 */ function temp_articletreecate($rootnum,$childnum){ if(!isnumber($rootnum)){ $rootnum = 10; } if(!isnumber($childnum)){ $childnum = 10; } $category = array(); $parent_sql = "SELECT cateid,catename FROM ".TAB...

PHP系列 | PHPexcel导入xls格式 ,提示错误:iconv(): Wrong charset, conversion from `CP936' to `UTF-8' is not allowed【代码】【图】

导入xls格式(2003版本)时会报错提示错误信息iconv(): Wrong charset, conversion from `CP936‘ to `UTF-8‘ is not allowed[/var/www/web/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/String.php:490] 解决办法:if (self::getIsIconvEnabled()) {return iconv($from, $to, $value); } 修改为if (self::getIsIconvEnabled()) {if ($to==‘UTF-8‘ && $from==‘CP936‘) {return iconv(‘UTF-8‘, ‘latin1‘, $value)...

PHP基础知识小结

1.PHP中类型转换 自动转换 其它类型转换数值型 true->1 false->0 null->0 ‘true‘->0 ‘-3abc‘->-3 ‘3.123abc‘->3.123 ‘3e2av‘->300 其它类型转换成字符串型 数值型->数值本身 true->1 false->空字符串 null->空字符串 数组->Array 对象->Fatal Error(致命错误,不能直接输出对象) 资源->Resource id #数字 其它类型转换成布尔类型 转换成布尔类型false的有 0->false 0.0->false ...

fast-cgi & php-fpm 等的理解 (讨论试理解)

原文地址:https://segmentfault.com/q/1010000000256516我在网上查fastcgi与php-fpm的关系,查了快一周了,基本看了个遍,真是众说纷纭,没一个权威性的定义。网上有的说,fastcgi是一个协议,php-fpm实现了这个协议; 有的说,php-fpm是fastcgi进程的管理器,用来管理fastcgi进程的; 有的说,php-fpm是php内核的一个补丁; 有的说,修改了php.ini配置文件后,没办法平滑重启,所以就诞生了php-fpm; 还有的说PHP-CGI是PHP自带的F...

PHP经典设计模式--简单工厂模式【代码】

PHP经典设计模式--简单工厂模式pfinal介绍本来我们要获取一个类的实例,需要用到new关键字。但是如果new 直接写到业务代码里,一个类在很多地方都实例化过,以后要是这个类出了什么问题,比如要改个名字(实际中,你更多的可能是修改构造函数方法),那么就尴尬了,需要改很多地方。工厂模式,顾名思义,就是不用new来获得实例,而是把业务类放进一个工场类里,由工厂(类)『生产』出对应的实例。实现SimpleFactory.php <?php names...

Php如何返回json数据(返回json对象或json格式数据)

php返回json,xml,JSONP等格式的数据返回json数据:header(‘Content-Type:application/json; charset=utf-8‘);$arr = array(‘a‘=>1,‘b‘=>2);exit(json_encode($data));注意:如果不加header直接输出json_encode的值的话,返回的是字符串不是对象,js那边就需要先eval(‘(‘+data+‘)‘)转化为对象,在取值 返回xml数据:header(‘Content-Type:text/xml; charset=utf-8‘);exit($xml); 返回jsonp数据:$arr = array(‘a‘...

PHP之mb_substr_count【代码】

mb_substr_count(PHP 4 >= 4.3.0, PHP 5, PHP 7)mb_substr_count — Count the number of substring occurrencesmb_substr_count — 统计字符串出现的次数Descriptionint mb_substr_count( string $haystack, string $needle[, string $encoding = mb_internal_encoding()])//Counts the number of times the needle substring occurs in the haystack string.//统计子字符串 needle 出现在字符串 haystack 中的次数。Parametersha...

PHP性能监测的工具介绍 - XHProf【代码】

http://segmentfault.com/a/1190000003509917//开启xhprof并开始记录xhprof_enable(); //运行一些函数foo(); //停止记录并取到结果$xhprof_data = xhprof_disable(); 原文:http://www.cnblogs.com/liuwei9002/p/4821959.html

PHP中编码转换函数iconv()和mb_convert_encoding

在php中转换编码可以用iconv()和mb_convert_encoding,这2个函数都不是php默认的函数,安装方法见百度,这里主要说一下两者的区别。  有些字符在utf8下可编码,在gbk下不可编码,这样在转换时就会出现问题。mb_convert_encoding在遇到这种情况时,会将不可编码的字符都转成了\0x00\0x80,而iconv则在遇到特殊字符时会断掉,但是我们可以在其第二个参数后添加“//IGNORE”,它会忽略遇到的不可编码的字符。原文:http://www.cnblo...

php函数总结2

文件系统函数函数名描述实例输入输出操作fopen()打开文件或者 URL$handle = fopen("ftp://user:password@example.com/somefile.txt", "w");resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )如果打开失败,本函数返回 FALSEfclose()关闭一个已打开的文件指针$handle = fopen(‘somefile.txt‘, ‘r‘);fclose($handle);boolfclose(resource handle)如果成功则返回TRUE,失败则返回...

安装appserv后怎么编写php代码【图】

最近想学习php,想做个网站,于是选择了appserv这款软件搭建lamp环境,但是安装完成之后打开php文件却始终有错误,不是没有显示就是显示源码,于是上网去搜,真是哔...了狗了,原来不能直接双击打开php文件,需要将文件放在www目录下,然后在浏览器输入localhost/****.php才能正确打开,擦。。。。650) this.width=650;" title="捕获.PNG" src="/upload/getfiles/default/2022/11/13/20221113084821157.jpg" />,编写php代码很简单...

[代码审计]PHP_Bugs题目总结(2)【代码】【图】

写的有点多了,上一篇放在一起显得有点臃肿,就再起一篇吧~迷路的老铁点这里:[代码审计]PHP_Bugs题目总结(1)0x14 intval函数四舍五入<?php if($_GET[id]) { mysql_connect(SAE_MYSQL_HOST_M . ':' . SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS); mysql_select_db(SAE_MYSQL_DB); $id = intval($_GET[id]); ## 这里过滤只有一个intval $query = @mysql_fetch_array(mysql_query("select content from ctf2 where id='$id'")); ...

PHP上传文件【代码】

主界面:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title>无标题文档</title></head><body><form action="filecl.php" method="post" enctype="multipart/form-data"><input type="file" name="file"/><input type="s...

项目中引用ThinkPHP框架【图】

ThinkPHP是一个宽度、兼容且简单的国产的轻量级框架,具有优良的性能,并且非常注重易用性。  那么,我们该如何将ThinkPHP引入自己的项目中,使得自己的项目可以使用这款优良的框架呢?  首先介绍下ThinkPHP框架的目录结构:  Common:框架的核心函数库  Conf:框架的核心配置文件目录  Lang:语言包  Library:框架的核心资源库目录  ThinkPHP.php:核心入口文件所以,如果我们想要引用ThinkPHP的框架,非常简单,首...

PHP (超文本预处理器)

1.PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记...