- 扣丁学堂PHP培训分享PHP编写的经验 09-05
- php发邮件foxmail标题乱码问题 09-05
- wdcp v3无法安装php5.2.17的解决办法 09-05
- PHP的时间函数 09-05
- PHP输出缓冲及其应用 09-04
- 良好的书写规范提高PHP代码执行效率 09-04
- 2018年年薪20万以上的PHP程序员都需要掌握哪些 09-04
- WordPress 站点易遭新型 PHP 代码执行攻 09-04
- 第42期Java面试题:线程状态,java序列化 09-04
- 零基础参加PHP培训需要注意的知识点 09-04
扣丁学堂PHP培训分享PHP编写的经验
发布者: PHPYuan | 发布时间:2018-09-05从事开发行业经验也是非常重要的,因此有不少的小伙伴对前辈们的经验都是非常渴望的,本篇文章扣丁学堂PHP培训小编就和大家分享一下PHP编写的经验,希望能帮到对PHP开发感兴趣的小伙伴们。
当操作字符串并且需要检验它的长度是不是可以满足某种要求时,一般都是当然地会去使用strlen函数。这个函数执行起来那是相当快,因为它不会做任何计算,只是返回在zval结构(C的内置数据结构,是用于存储PHP变量的)中所存储的已知的字符串长度。但是,由于strlen是函数,多多少少的还是会有些慢,这是因为函数的调用会经过诸多的步骤,例如字母小写化(译注:指函数名的小写化,PHP是不区分函数名大小写的)、哈希查找,会和被调用的函数一并执行。在一些情况下,
php发邮件foxmail标题乱码问题
发布者: PHPYuan | 发布时间:2018-09-05之前在大神那里找了一个SMTP发送邮件的源码,应用之后是可以发送邮件了,然后web查看邮件也正常,但是foxmail客户端一直显示标题乱码,正文是正常的,几经搜索之后,终于发现原来邮件是base64编码的,所有需要将标题经过编码之后才发送,测试之后,果然正常了。
$mailsubject = "=?UTF-8?B?".base64_encode($mailsubject)."?="; //标题转码,防止foxmail客户端乱码详细代码如下,mail.php是借用大神的,但是忘记在哪下载了的,如需要下线,请联系。
mail.php
<?php class smtp { var $smtp_port; var $time_out; var $host_name; var $log_file; var $relay_host; var $debug; var $auth; var $user; var $pass; var $sock; function smtp($relay_host = "", $smtp_port = 25,$auth = false,$user,$pass) { $this->debug = true; $this->smtp_port = $smtp_port; $this->relay_howdcp v3无法安装php5.2.17的解决办法 centos6.8
发布者: PHPYuan | 发布时间:2018-09-05很多小伙伴使用centos时,会用到wdcp V3管理面板,不过在nginx环境下需要安装指定php版本,而在安装php5.2时会出现安装失败的情况。
原因是:iconv版本过低或者没有安装。
解决办法如下:
执行下面的命令:
wget http://down.wdlinux.cn/in/iconv_ins.sh
sh iconv_ins.sh
然后再执行
wget http://down.wdlinux.cn/in/phps.sh
sh phps.sh 5.2.17
日期相关
日期相关主要指的是date()函数,date()函数中有很多格式字符,你可以根据需要,自行选择合适的日期格式输出。可能PHP工程师最熟悉的就是下面的代码:
// 获取当前时间:2018-09-01 18:15:56
发现浏览器是同时显示所有内容,而不是先显示第一行和第二行数据,等待5秒后再显示后面的数据。不仅这样,PHP的缓冲区还提供给我们更加强大的功能,我们可以在
良好的书写规范提高PHP代码执行效率
发布者: PHPYuan | 发布时间:2018-09-04用单引号代替双引号来包含字符串,这样做会更快一些。因为 PHP 会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有 echo 能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP 手册中说 echo 是语言结构,不是真正的函数,故把函数加上了双引号)。
1、如果能将类的方法定义成 static,就尽量定义成 static,它的速度会提升将近4倍。
2、$row['id'] 的速度是 $row[id] 的7倍。
3、echo 比 print 快,并且使用 echo 的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如:echo $str1,$str2。
4、在执行 for 循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用 foreach 代替。
5、注销那些不用的变量尤其是大数组,以便释放内存。
6、尽量避免使用 __get、__set、__autoload。
7、require_once() 代价昂贵。
8、include 文件时尽量使用绝对路径,因为它避免了 PHP 去 include_path 里查找文件的速度,解析操作系统路径所需的时间会更少。
9、如果你想知道脚本开始执行(译注:即服务器端收到客户端请求
2018年年薪20万以上的PHP程序员都需要掌握哪些技术?
发布者: PHPYuan | 发布时间:2018-09-04PHP作为编程语言界的老牌,市场发展稳定,技术发展成熟,如今多数PHP程序员年薪10万在一二线城市很常见,但是跨越20万年薪的却很少,不仅极少数PHP程序员能达到这个技术水平,而且市场招聘之薪酬阶段也是如此。
在几年前,如果你是一名PHP程序员,你可能只会简单的增删改查,搭建PHP服务器就会有企业录用你,但是现在形势不一样,PHP程序员不仅需要掌握PHP本身语言技术知识,更需要掌握其他编程语言技能,比如前端技术(html、css、JavaScript),还有PHP众多的扩展类,常用PHP框架等,所以你想要成为年薪20万的PHP程序员何止容易。
Secarma 公司的安全研究员 Sam Thomas 发现一种新型利用技术,可导致黑客通过使用此前被认为风险较低的函数触发 PHP 语言中严重的反序列化漏洞。
这种新技术导致成千上万款 web 应用程序易遭远程代码执行攻击,包括一些受热门内容管理系统驱动的网站如 WordPress 和 Typo3。
PHP 反序列化或对象注入漏洞最早发生在2009年,它可导致攻击者通过向 unserialized () PHP 函数提供恶意输入的方法执行多种攻击。序列化是将数据对象转换为纯字符串的过程,而反序列化函数帮助程序从字符串重新创建对象。
Thomas 发现攻击者能使用针对 Phar 文件的低风险函数触发反序列化攻击,而无需在各种场景中使用 unserialize () 函数。
Phar 文件是 PHP 中的一种存档格式,它以序列化格式存储元数据,当文件操作函数 (fopen、
第42期Java面试题:线程状态,java序列化
发布者: PHPYuan | 发布时间:2018-09-041、线程状态
1)新建状态(New):新创建了一个线程对象。
2)就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。
3)运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。
4)阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。
5)死亡状态(Dead):线程执行完了或者因异常退出了run()方法,该线程结束生命周期。
2、什么是java序列化,如何实现java序列化?通俗的说,就是可以将内存中Java对象可以写在硬盘上(序列化到硬盘上),反序列化就是讲硬盘的内容读取到内存中去;java是通过实现Serializable接口,实现的序列化,Serializable接口里面没有任何的方法,只是个标示接口。
3、怎么判断指定路径是否为目录File f = new File(fileName); //构造文件File类
f.isDirectory(); //判断是否为目录
4、怎么获取指定路径下的全部文件File f = new File(filePath); //构造文件File类
String[] fileName
零基础参加PHP培训需要注意的知识点
发布者: PHPYuan | 发布时间:2018-09-04随着互联网IT行业的发展,越来越多的人选择入坑互联网,程序员是一个很好的选择,但是很多没有基础的同学都会选择先去培训机构培训,今天小编先来给大家讲一下零基础参加PHP培训需要注意的知识点吧。
1.echo和print的区别
PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的。echo输出后没有返回值,但print有返回值,当其执行失败时返回flase。因此可以作为一个普通函数来使用,例如执行下面的代码后变量$r的值将为1。
$r=print"HelloWorld";
这意味着print可用在一些复杂的表达式中,而echo则不行。但是,因为echo语句不要求返回任何数值,
