
PHP学习笔记
文章平均质量分 61
XiaoXinHuang
这个作者很懒,什么都没留下…
展开
-
PHP7以上 不支持mcrypt_module_open方法问题(微信视频号接口对接)
最近在对接视频号,沿用官方sdk文档,关于回调方法中的参数解码遇到的问题。原创 2023-09-21 16:13:27 · 559 阅读 · 0 评论 -
PHP json_encode不转义中文
static public function test6() { //在数据库随便拿一条有中文的数据 $user = DB::table('users')->select('name','company')->where('id', '=', 3)->first(); //第一种序列化方式,不加参数,中文会被转化为unicode $json_user1 = json_encode($user); var_d.原创 2021-04-19 19:32:28 · 765 阅读 · 0 评论 -
一句话实现php日期转中文汉字
今天在群里看到的一道php练习题:请使用一句话将类似”1910-09-09″格式的日期转换为中文,即“一九一零年九月九日”.需要有通用性(这个我没有理解),是不是一句话不是关键,但不允许使用if、switch、while、for等结构语句。好吧,正好无聊,就写了个。。。不考虑效率和代码冗余,还真是一句话:<?php#php日期转中文$str='2014-10-11';...原创 2019-03-05 16:41:52 · 461 阅读 · 0 评论 -
PHP中少用但是很好用的方法
1.比较两个单词的不同,以第一个单词为准<?php$a = 'construction';$b = 'philosophy';echo levenshtein($a, $b);echo 122、获取已经定义过的变量get_defined_vars()3、ignore_user_abort()这个函数用来拒绝浏览器端用户终止执行脚本的请求。正常情况下客户端的退出...原创 2019-03-06 09:56:05 · 263 阅读 · 0 评论 -
PHP使用GD库生成文件
<?php$xgcs_result = $this->get_xgcs_result($key);if (!empty($xgcs_result) && isset($xgcs_result['type']) && isset($xgcs_result['content']) && isset($xgcs_result['image...原创 2019-03-06 10:00:49 · 719 阅读 · 0 评论 -
PHP使用GD库生成柱状图
<?phpfunction createImage($data, $twidth, $tspace, $height){ $dataName = array(); $dataValue = array(); $i = 0; $j = 0; $k = 0; $num = sizeof($data); foreach ($data ...原创 2019-03-06 10:03:34 · 889 阅读 · 0 评论 -
PHP生成图片验证码
<?phpsession_start();getCode(4,60,20);function getCode($num,$w,$h){ $code = ""; for($i = 0;$i < $num;$i++){ $code .= rand(0,9); } $_SESSION['validcode_num'] = $code;...原创 2019-03-06 10:06:08 · 216 阅读 · 0 评论 -
PHP生成Mysql数据字典
<?php/** * 生成mysql数据字典 *///配置数据库$dbserver = "192.168.1.12";$dbusername = "erp";$dbpassword = "erp@hello2015123";$database = "erp";//其他配置$title = '数据字典';$mysql_conn = @mysql_connect("$db...原创 2019-03-06 10:18:24 · 390 阅读 · 0 评论 -
PHP一个比较完善的树形结构代码
<?php/** * 通用的树型类,可以生成任何树型结构 */class tree{ /** * 生成树型结构所需要的2维数组 * @var array */ var $arr = array(); /** * 生成树型结构所需修饰符号,可以换成图片 * @var array */ v...原创 2019-03-06 10:22:43 · 1854 阅读 · 0 评论 -
PHP常用函数
1.产生随机字符串函数<?phpfunctionrandom($length) { $hash = ''; $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz'; $max = strlen($chars) – 1; mt_srand((double)mic...原创 2019-03-06 11:00:14 · 225 阅读 · 0 评论 -
PHP遍历文件夹下的所有文件和文件夹
<?phpfunction tree($dir){ $mydir = dir($dir); echo "<ul>\n"; while ($file = $mydir->read()) { if (is_dir("$dir/$file") AND $file != "." AND $file != "..") { .原创 2019-03-06 11:14:46 · 193 阅读 · 0 评论 -
PHP中class.smtp类
<?php/*~ class.smtp.php.---------------------------------------------------------------------------.| Software: PHPMailer - PHP email class || Version: 5....原创 2019-03-06 11:18:30 · 1862 阅读 · 0 评论 -
PHP预防XSS攻击,ajax跨域攻击的方法
对网站发动XSS攻击的方式有很多种,仅仅使用php的一些内置过滤函数是对付不了的,即使你将filter_var,mysql_real_escape_string,htmlentities,htmlspecialchars,strip_tags这些函数都使用上了也不一定能保证绝对的安全。现在有很多php开发框架都提供关于防XSS攻击的过滤方法,下面和大家分享一个预防XSS攻击和ajax跨域攻击的...原创 2019-03-14 09:38:06 · 710 阅读 · 1 评论 -
PHP中的预定义常量
PHP可以用预定义常量来获取PHP中的信息。常用的预定义常量如下: 1、__FILE__ 默认常量,是指PHP程序文件名及路径; 2、__LINE__ 默认常量,是指PHP程序的行数; 3、__CLASS__: 类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。 4、...原创 2019-03-14 09:38:56 · 4066 阅读 · 0 评论 -
PHP中利用header设置content-type和常见文件类型的content-type
在PHP中可以通过header函数来发送头信息,还可以设置文件的content-type,下面整理了一些常见文件类型对于的content-type值。//定义编码header( 'Content-Type:text/html;charset=utf-8 ');//Atomheader('Content-type: application/atom+xml');//CSShead...原创 2019-03-14 09:47:01 · 2434 阅读 · 0 评论 -
PHP缓存技术介绍
缓存是指临时文件交换区,电脑把最常用的文件从存储器里提出来临时放在缓存里,就像把工具和材料搬上工作台一样,这样会比用时现去仓库取更方便。因为缓存往往使用的是RAM(断电即掉的非永久储存),所以在忙完后还是会把文件送到硬盘等存储器里永久存储。电脑里最大的缓存就是内存条了,最快的是CPU上镶的L1和L2缓存,显卡的显存是给GPU用的缓存,硬盘上也有16M或者32M的缓存。千万不能把缓存理解成一个东西,...原创 2019-03-14 09:49:22 · 381 阅读 · 0 评论 -
PHP中$_SERVER的详细参数
PHP编程中经常需要用到一些服务器的一些资料,特把$_SERVER的详细参数整理下,方便以后使用。$_SERVER['PHP_SELF'] #当前正在执行脚本的文件名,与 document root相关。 $_SERVER['argv'] #传递给该脚本的参数。 $_SERVER['argc'] #包含传递给程序的命令行参数的个数(如果运行在命令行模式)。 $_SERVER['G...原创 2019-03-14 09:51:08 · 1347 阅读 · 0 评论 -
PHP中error_reporting()详解
说白了就是PHP页面报错的级别设置,14个等级供你自定义报错的方式,有数字和字符串两种参数的写法,中文说明对应如下:数字 字符串 说明 1 E_ERROR 致命的运行时错误。 错误无法恢复过来。脚本的执行被暂停 2 E_WARNING 非致命的运行时错误。脚本的执行不会停止 4 ...原创 2019-03-14 09:54:32 · 910 阅读 · 0 评论 -
PHP中的小数取整
1.floor — 舍去法取整floor ($value )返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。echo floor(4.3);// 4echo floor(3.999);//32.ceil — 进一法取整ceil ( $value )返回不小于 value 的下一个整数,value 如果有小数部分则进一位。echo...原创 2019-03-14 10:51:07 · 450 阅读 · 0 评论 -
PHP中文获取拼音函数
<?php//中文获取拼音函数/*return String$_String 输入的中文字符$_Code 输出字符编码类型,默认是UTF-8*/function pinyin($_String, $_Code='UTF-8'){ $_DataKey = "a|ai|an|ang|ao|ba|bai|ban|bang|bao|bei|ben|beng|bi|bian|biao...原创 2019-03-14 10:52:52 · 1260 阅读 · 0 评论 -
PHP5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
从旧版升级到php5.4,恐怕最麻烦的就是htmlspecialchars这个问题了!当然,htmlentities也会受影响,不过,对于中文站来说一般用htmlspecialchars比较常见,htmlentities非常少用到。可能老外认为网页普遍应该是utf-8编码的,于是苦了那些用GB2312,GBK编码的中文站......!具体表现:$str = "9enjoy.com的...原创 2019-03-14 10:55:34 · 592 阅读 · 0 评论 -
PHP获取中文拼音首字符方法
<?phpfunction getfirstchar($s0) { $fchar = ord($s0 { 0 }); if ($fchar >= ord("A") and $fchar <= ord("z")) return strtoupper($s0 { 0 }); $s1 = iconv('UTF-8','GB2312//ignore',$s0); $...原创 2019-03-14 10:58:43 · 483 阅读 · 1 评论 -
PHP表单提交参数验证类(可修改)
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');/** * 表单验证类(参考 原ci CI_Form_validation 而修改) * 自行扩展里头验证器 */class CI_Form_validation { protected $CI; protected $_...原创 2019-03-07 14:22:41 · 1058 阅读 · 0 评论 -
PHP类的静态(static)方法和静态(static)变量使用介绍
在php中,访问类的方法/变量有两种方法:1. 创建对象$object = new Class(),然后使用”->”调用:$object->attribute/function,前提是该变量/方法可访问。2. 直接调用类方法/变量:class::attribute/function,无论是静态/非静态都可以。但是有前提条件:A. 如果是变量,需要该变量可访问。B...原创 2019-03-19 16:30:37 · 1005 阅读 · 0 评论 -
PHP45个方便的工具
PHP是为Web开发设计的服务器脚本语言,但也是一种通用的编程语言。超过2.4亿个索引域使用PHP,包括很多重要的网站,例如 Facebook、Digg和WordPress。和其它脚本语言相比,例如Python和Ruby,Web开发者有很多不错的理由皮偏爱PHP。对于PHP开发者,在互联网上有很多可用的开发工具,但是找到一个合适的PHP开发工具是很难的,需要花费很多努力和时间。今天,就为开发者......原创 2019-03-15 13:53:09 · 1756 阅读 · 0 评论 -
PHP_MySQL笔试题目一
1、表单中get和post提交方式有何区别?答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息.2.session与cookie的区别?答:session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对...原创 2019-03-15 14:04:54 · 532 阅读 · 0 评论 -
PHP对Json字符串解码返回NULL的一般解决方案
php对json字符串解码使用json_decode()函数,第一个参数传字符串,第二个参数若为true,返回array;若为false,返回object。如果返回NULL,说明报错,输出json_last_error(),得到的整数值对应错误提示。如图:son_last_error()比较常见的是整数4, 是json字符串在json_decode之前已不完整,所以语法错误。那么一定是......原创 2019-03-15 14:06:58 · 1033 阅读 · 0 评论 -
PHP大文件上传问题
php上传文件涉及到的参数:几个参数调整:0:文件上传时存放文件的临时目录。必须是 PHP 进程所有者用户可写的目录。如果未指定则 PHP 使用系统默认值php.ini文件中upload_tmp_dir用来说明PHP上传的文件放置的临时目录。要想上传文件,得保证服务器没有关闭临时文件和有对文件夹的写权限1:max_execution_time变 量max_exe......原创 2019-03-15 14:08:22 · 157 阅读 · 0 评论 -
PHP性能优化
1. foreach比for快一些2.用单引号代替双引号,提高性能。注意:如果字符串中包含变量,将变量不要放到单引号中。原因:php中会在双引号中去查找变量3.如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。4.$row[’id’] 的速度是$row[id]的7倍5.echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是......原创 2019-03-15 14:09:16 · 399 阅读 · 0 评论 -
PHP对抗web扫描器的脚本技巧
我们很难保证一个Web程序的安全性,因为鬼知道明天会有什么新的漏洞出现,鬼知道某个模块是不是一个毫无安全意识的程序员编写的。部分Web扫描器(包括上传、管理后台扫描器)都是通过判断HTTP的200返回来确定页面存在的,在页面存在的基础上,这些扫描期才会开始对漏洞进行扫 描。既然不能保证内部逻辑的严密,那么就在输入/输出这个瓶颈上做文章,当输入错误的密码或者权限失败时,我们自己返回一个400错误......原创 2019-03-16 22:24:57 · 186 阅读 · 0 评论 -
PHP被忽视的编码规范
说编程是一门艺术一点都不过分,无论从代码中体现的思维还是给人的视觉感受都无可挑剔。当我们看别人的代码时,第一眼感受到的就是作者的编码风格,根据编码风格大致可以感受到程序的好坏。良好的编码风格看起来很有艺术的感觉,读起来容易,易维护,出问题的几率也小。而不良的编码习惯导致代码很难读,思维不够清晰,维护成本高,可能潜藏着更多的BUG。艺术是用来欣赏的,但实际项目中需求的随意不间断无规则变动导致项目...原创 2019-03-25 14:36:36 · 227 阅读 · 0 评论 -
PHP中的PHP_EOL变量
看手册时发现PHP_EOL这个变量,查了下资料,原来是相当于换行符在unix系列用 \n在windows系列用 \r\n在mac用 \rPHP中可以用PHP_EOL来替代,以提高代码的源代码级可移植性比如:echo PHP_EOL; //windows平台相当于 echo "\r\n"; //unix\linux平台相当于 echo "\n"; //mac平台相当于 ec...原创 2019-03-25 14:37:33 · 529 阅读 · 0 评论 -
PHP46 个非常有用的代码片段
在编写代码的时候有个神奇的工具总是好的!下面这里收集了 40+ PHP 代码片段,可以帮助你开发 PHP 项目。这些 PHP 片段对于 PHP 初学者也非常有帮助,非常容易学习,让我们开始学习吧~1. 发送 SMS在开发 Web 或者移动应用的时候,经常会遇到需要发送 SMS 给用户,或者因为登录原因,或者是为了发送信息。下面的 PHP 代码就实现了发送 SMS 的功能。为了使用任......原创 2019-03-25 16:48:28 · 750 阅读 · 0 评论 -
PHP中file_get_contents的使用方法
$data=file_get_contents("php://input");php://input 是个可以访问请求的原始数据的只读流。 POST 请求的情况下,最好使用 php://input 来代替 $HTTP_RAW_POST_DATA,因为它不依赖于特定的 php.ini 指令。 而且,这样的情况下 $HTTP_RAW_POST_DATA 默认没有填充, 比激活 always_p......原创 2019-03-26 13:40:13 · 7725 阅读 · 0 评论 -
PHP中的call_user_func_array
场景一:参数数目不确定函数的参数是用户传入的,而且参数的数目不确定。如果不用call_user_func_array你会怎么做?一些PHP框架可以将$_GET参数自动映射到方法,就是这样实现的。场景二:用于函数回调回调函数可能是一个普通函数,可能是类方法,也可能是静态方法。如果使用call_user_func_array,你就不用去判断方法的类型。...原创 2019-03-26 13:40:24 · 197 阅读 · 0 评论 -
PHP中的 fastcgi_finish_request();
if (function_exists('fastcgi_finish_request')) { fastcgi_finish_request(); }当PHP运行在FastCGI模式时,PHP FPM提供了一个名为fastcgi_finish_request的方法.按照文档上的说法,此方法可以提高请求的处理速度,如果有些处理...原创 2019-03-26 13:40:36 · 253 阅读 · 0 评论 -
PHP超实用的函数总结整理
1、PHP加密解密PHP加密和解密函数可以用来加密一些有用的字符串存放在数据库里,并且通过可逆解密字符串,该函数使用了base64和MD5加密和解密。<?phpfunction encryptDecrypt($key, $string, $decrypt){ if($decrypt){ $decrypted = rtrim(mcrypt_decry...原创 2019-03-26 13:40:49 · 193 阅读 · 0 评论 -
PHP命令注入
使用下列5个函数来执行外部的应用程序或函数system、exec、passthru、shell_exec、“`”原创 2019-03-26 13:41:04 · 1122 阅读 · 0 评论 -
PHP中的short_open_tag
short_open_tag 是什么呢?决定是否允许使用代码开始标志的缩写形式(<? ?> )。如果要和 XML 结合使用 PHP,可以禁用此选项以便于嵌入使用<?xml ?> 。否则还可以通过php来输出,例如:<?php echo '<?xml version="1.0"'; ?> 。如果禁用了,必须使用 PHP 代码开始标志的完整形式(<?...原创 2019-03-26 13:41:37 · 473 阅读 · 0 评论 -
PHP中的const
如果我们在实际编程中碰到无法改变的常数值时,通常都会定义一个常量来使用这个常数值。那么这时我们就用到了const在定义一个常量的时候我们可以使用const来修饰这个常量,使用PHP const修饰的常量更其它的常量有点不同的地方就是:常量名前不要使用”$”,切记!当然这个常量值也是不能修改的,一旦定义就不能程序的任何地方进行“人为”的修改。这跟使用define定义是一样,还有就是使用const...原创 2019-03-26 13:43:00 · 1353 阅读 · 0 评论