php $a=array("a"=>"Cat","b"=>"Dog","c"=>"Cat"); print_r(array_unique($a)); ? foreach($arr as $v){ $flag[] = $v['norder']; } array_multisort($flag, SORT_DESC, $arr); p($arr); php 如果传递给这个函数的数组是一个空数组,或者是一个没有经过设定的变量,返回的数组元素个数就是0; array_count_value():统计每个特定的值在数组$array中出现过的次数; 如: $array=array(4,5,1,2,3,1,2,1 将创建一个名为$ac数组,该数组包括: 关键字 值 4 1 5
环境: Win10 Phpstudy 2018 PHP-7.0.12 NTS+Apache Fastadmin V1.2.0.20210125_full ThinkPHP 5.0.24 Fastadmin 默认配置 (不开启app_debug和app_trace) 0x02 正文 我们知道在Thinkphp5没有开启app_debug的时候,能够写入日志文件的信息很少而且只有触发报错的时候才会写入部分日志信息 ,如下: 而直接用url传入php代码,空格会被urlencode。 php phpinfo();?> X-REWRITE-URL: <?php phpinfo();?> X-HTTP-METHOD-OVERRIDE: <?php phpinfo();? ,有模版渲染漏洞,没有开app_debug,无法修改头像,用模版渲染日志文件getshell 0x03 总结 遇到类似的场景时,基于tp5的文件包含、模板渲染写入PHP代码时可尝试用上述的请求头
前言 最近接触了typecho 所以PHP肯定就离不开手了 这里记录一些平常开发的一些小技巧 莫名的用户bug 不要只处理error,而忽略warning和notice,这可能会导致日后的莫名其妙的问题 引入文件觉得路径 不管是 include还是什么函数引入文件使用绝对路径比使用相对路径引用速度高 因为这样可以减少PHP目录搜寻时间 当然这点速度也许无用 但是在层层引用中导致工作目录变化 相对路径会炸的 php function authorized($username, $page) { if (! php function authorized($username, $page) { return (! 如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于time(),这是PHP官方提供的一个全局变量。
本文主要和大家分享php环境搭建wampserver、Apache、Mysql和php php环境搭建csdn php环境搭建详解 ,希望能帮助到大家。 wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-32b搭建php环境。 在win下,下载wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-32b.exe,默认安装。 apache2.4.9\conf\httpd.conf 修改如下: 1 Listen 0.0.0.0:8088 2 Listen [::0]:8088 3 4 ServerName localhost:8088 5 以上就介绍了php环境搭建wampserver、Apache、Mysql和php,包括了wampserver,php环境搭建方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
笔记内容: 11.10/11.11/11.12 安装PHP5 11.13 安装PHP7 笔记日期:2017.9.28 11.10/11.11/11.12 安装PHP5 ? PHP主流版本是5.x/7.x,不过大部分企业都是使用着PHP5.x版本,因为有些程序是基于5.x版本开发的,如果使用7.x版本可能就会出问题,7.x是这两年才出来的,这两个版本区别比较大,7.x的性能要比 这时候查看Apache的模块信息就可以看到php5的模块了: ? 所以我们需要在/usr/local/src/php-5.6.30目录下,拷贝php5的配置文件到/usr/local/php/etc目录下: ? 可以看到有php5和php7的配置信息,使用php7的话,就把php5那行注释掉就可以了: ?
安装PHP5: 安装PHP之前需要把 Apache 安装好才可以。 --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif = 安装编译文件 (会出现告错1,2,3,4,5, 解决方案: yum install -y libjpeg-devel 告错5 configure: error: png.h not found. =编译安装包 make && make install = 继续安装 ls /usr/local/apache2.4/modules/libphp7.so =查看apache调用的是php5 /php7/bin/php -m 查看php7加载的模块(和5加载的模块基本一致) 扩展 php中mysql,mysqli,mysqlnd,pdo到底是什么 http://blog.csdn.net
利用PHP的MD5函数可以最简单生成md5加密
<! php
if(empty($_POST['md5'])){
$_POST['md5']=null;
}//解决post为空的警告 empty($md5))
echo $md5.' 的32位小写MD5:'.md5($md5);
echo '
';
echo $md5.' 的32位大写MD5:'.strtoupper(md5($md5));
?>
</body>
</html>
用单引号替代双引号引用字符串以实现 PHP 性能优化。 5. 用 i+=1 代替 i=i+1。符合 c/c++的习惯,效率还高。 6. 优化 Select SQL 语句,在可能的情况下尽量少的进行 Insert、Update 操作,达到 PHP 性能优化的目的。 7. 尽量的少进行文件操作,虽然 PHP 的文件操作效率也不低的。 尽可能的使用 PHP 内部函数。 9. 在可以用 PHP 内部字符串操作函数的情况下,不要用正则表达式。 10. 大事化小,1+1>2。 16.最好不用@ 用@掩盖错误会降低脚本运行速度,并且在后台有很多额外操作。用@比起不用,效率差距 3 倍。 特别不要在循环中使用@,在 5 次循环的测试中,即使是先用 error_reporting(0)关掉错误,在循环完成后再打开,都比用@快。
1.软件版本:PHP版本应该从PHP官方提供的下载页面下载,注意不要下载beta版本。 PHP官网下载地址为:http://www.php.net/downloads.php 2.控制脚本访问权限:PHP默认配置允许php脚本程序访问服务器上的任意文件,为避免php脚本访问不该访问的文件 ,从一定程度上限制了php木马的危害,需设置php只能访问网站目录或者其他必须可访问的目录。 打开php.ini,安全加固配置方式如下,关闭注册全局变量设置: register_globals = Off ? 注:默认php配置文件该选项是关闭的。 PHP 5.3.*与5.4. 5.开启magic_quotes_gpc:magic_quotes_gpc会把引用的数据中包含单引号'和双引号"以及反斜线 \自动加上反斜线,自动转译符号,确保数据操作的正确运行,magic_quotes_gpc
PHP已经更新到很多个版本,最近用的比较多的要数PHP5。下面我们为大家总结了PHP5常用函数,以便大家将来实际编写代码中查看。 PHP5常用函数之get_browser() 函数返回用户浏览器的性能。 exit() 函数输出一条消息,并退出当前脚本。 eval() 函数把字符串按照 PHP 代码来计算。 PHP5常用函数之connection_status() 函数返回当前的连接状态。 connection_aborted() 函数检查是否断开客户机。 PHP5常用函数之ucwords () 函数把字符串中每个单词的首字符转换为大写。 ucfirst() 函数把字符串中的首字符转换为大写。 PHP5常用函数之sscanf() 函数根据指定的格式解析来自一个字符串的输入。 sprintf () 函数把格式化的字符串写写入一个变量中。
给定一个条件,同时有多种可执行代码(块),然后根据条件执行某一段代码 循环结构:在某个条件控制范围内,指定的代码(块)可以重复执行 顺序结构 顺序结构:最基本结构,所有代码默认都是从上往下依次执行 分支结构 在PHP
安装PHP5目录概要 PHP官网www.php.net 当前主流版本为5.6/7.1 cd /usr/local/src/ wget http://cn2.php.net/distributions/php /usr/local/php/etc/php.ini PHP介绍 PHP官网 目前主流的PHP版本为5.6或7.1版本 现在很多企业是使用PHP 5 的版本,5.4版本或5.3版本,或者使用更老的版本 PHP7 的版本是近几年才出来的,7的版本改动很大,所以比较老的程序里面使用PHP7会出现问题,所以很多企业必须使用PHP5 ,而使用PHP7 会出现问题 PHP7 性能上得到很大的提升,如果程序,也就是你的 PHP代码能够使用PHP7 ,那就使用PHP7 ,否则就使用PHP5 安装PHP5过程 编译PHP5 首先切换到 /usr/local/src目录下 [root@hf-01 ~]# cd /usr/local /local/apache2.4/conf/httpd.conf 去搜索php5.so,会发现自动增加了一行 LoadModule php5_module modules/libphp5
redis及php扩展配置(windows+php5) redis及php扩展配置windowsphp5 安装 启动 安装php扩展 编写测试代码 1. 安装php扩展 下载扩展:https://github.com/nicolasff/phpredis/downloads(注意版本) 将下载的 php_redis.dll 放如php扩展目录(ext)中 ,并修改配置文件 php.ini (有顺序之分) extension=php_igbinary.dll extension=php_redis.dll 重启服务,查看phpinfo()中redis扩展
PHP中文学习手册 http://www.php.net/manual/zh/ 1安装window下的php环境 笔者建议采用xampp的方式安装开发环境,首先进入官网 我的电脑是Windows10+64 2关键KEY php.ini 入门级的配置文件,参考手册对php进行配置。 php.fpm(管理进程的容器) Fast CGI进程管理器,其主要作用实现了对高负载网站很有用的特性。 老大说,写PHP的人只有不到10%的人能写扩展。想写扩展的同学,可以看看这篇文章PHP扩展。 cookie/session机制详解 cookie/session区别详解 cookie/session深入理解 5基本语法 require和include的区别 最主要的区别:错误处理的方式不一样: (比如session/cookie部分) 包括通读手册的时间基本上完成了5小时之内入门PHP(现在是2016-6-6 20:22) The last but not least,感谢简书平台。
PHP中的网络组件相关函数 作为一门以 WEB 开发为主战场的编程语言来说,PHP 即使是在目前这个大环境下,依然也是 WEB 领域的头号玩家。 $mxhosts = []; getmxrr("baidu.com", $mxhosts); var_dump($mxhosts); // array(5) { // [0]=> // ]=> // string(19) "mx.maillb.baidu.com" // } var_dump(dns_get_record("baidu.com")); // array(5) E7%BD%91%E7%BB%9C%E7%BB%84%E4%BB%B6%E7%9B%B8%E5%85%B3%E5%87%BD%E6%95%B0.php 参考文档: https://www.php.net /manual/zh/book.network.php
[0] => Array // ( // [0] => com // [1] => 5 [0] => A:C:1 // [1] => B:C:a // [2] => A:2 // [3] => B:b // [4] => A:3 // [5] Array // ( // [0] => 1 // [1] => a // [2] => 2 // [3] => b // [4] => 3 // [5] /2021/03/source/6.PHP中PRGE正则函数的学习.php on line 332 // 1 // print_r(preg_last_error_msg()); // php8 而在 %A3%E5%88%99%E5%87%BD%E6%95%B0%E7%9A%84%E5%AD%A6%E4%B9%A0.php 参考文档: https://www.php.net/manual/zh/book.pcre.php
$_POST并非是HTTP POST过来的数据, 如json格式的数据就没法接受,这是因为由于历史原因,php只能解析Content-Type为 application/x-www-form-urlencoded 一般strlen函数执行起来相当快,因为它不做任何计算,只返回在zval 结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。 但是,由于strlen()是函数,多多少少会有些慢,因为函数调用会经过诸多步 骤,如字母小写化(译注:指函数名小写化,PHP不区分函数名大小写)、哈希查找,会跟随被调用的函数一起执行。 if (strlen($foo) < 5) { echo “Foo is too short”$$ } //与下面进行比较 if (! isset($foo{5})) { echo “Foo is too short”$$ } 调用isset()恰巧比strlen()快,因为与后者不同的是,isset()作为一种语言结构,意味着它的执行不需要函数查找和字母小写化
$_POST并非是HTTP POST过来的数据, 如json格式的数据就没法接受,这是因为由于历史原因,php只能解析Content-Type为 application/x-www-form-urlencoded 一般strlen函数执行起来相当快,因为它不做任何计算,只返回在zval结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。 但是,由于strlen()是函数,多多少少会有些慢,因为函数调用会经过诸多步骤,如字母小写化(译注:指函数名小写化,PHP不区分函数名大小写)、哈希查找,会跟随被调用的函数一起执行。 [代码]php代码: if (strlen($foo) < 5) { echo “Foo is too short”$$ } //与下面进行比较 if (! isset($foo{5})) { echo “Foo is too short”$$ } 调用isset()恰巧比strlen()快,因为与后者不同的是,isset()作为一种语言结构,意味着它的执行不需要函数查找和字母小写化
php $sum = 1; $num = 7; if( $num>0 ){ for($i=$num;$i>0;$i--){ $sum*=$i; } echo $sum; }elseif php if ( $num = $_GET["number"]){ if( ! > <form action="fac1.<em>php</em>" method="get"> 输入一个正整数: <input type="text" name="number"> <input type="submit <em>php</em> } ?> </body> </html>
11.10-11.12 安装PHP5 PHP(Hypertext Preprocessor)英文超级文本预处理语言。 root@adailinux src]# tar zxvf php-5.6.30.tar.gz 安装PHP-5 [root@adailinux src]# cd php-5.6.30/ 环境配置 [root src]# tar -jxvf php-7.1.6.tar.bz2 安装PHP-7 因为在安装PHP5的时候所有依赖的库文件以及安装完,所以此次PHP7可以直接安装。 -5的主要差异就是没有“--with-mysql”选项。 加载的PHP模块: [root@adailinux php-7.1.6]# /usr/local/apache2.4/bin/apachectl -M …… php5_module (shared)