find / -name "*.php" -type f -print0 | xargs -0 egrep "(phpspy|c99sh|milw0rm|eval\(base64_decode|spider_bc)" | awk -F: '{print $1}' | sort | uniq
echo pathinfo('/www/htdocs/your_image.jpg', PATHINFO_EXTENSION);
$file_path = pathinfo('/www/htdocs/your_image.jpg');
echo "$file_path ['dirname']\n";
echo "$file_path ['basename']\n";
echo "$file_path ['extension']\n";
echo "$file_path ['filename']\n"; // only in PHP 5.2+
?>
以上将输出
your_image.jpg
jpg
your_image
注意: pathinfo 支持第3个参数
* PATHINFO_DIRNAME - 目录
* PATHINFO_BASENAME - 文件名(含扩展名)
* PATHINFO_EXTENSION - 扩展名
* PATHINFO_FILENAME - 文件名(不含扩展名)
$tomorrow = mktime(0, 0, 0, date("m") , date("d")+1, date("Y"));
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));
$nextyear = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1);
php获取上一个月的天数
$count_lastmonth = date('t', $lastmonth);
checkdate
(PHP 4, PHP 5)
checkdate — 验证一个格里高里日期
说明
如果给出的日期有效则返回 TRUE,否则返回 FALSE。检查由参数构成的日期的合法性。日期在以下情况下被认为有效:
- year 的值是从 1 到 32767
- month 的值是从 1 到 12
- Day 的值在给定的 month 所应该具有的天数范围之内,闰年已经考虑进去了。
<?php
/*
* 方法 isDate
* 功能 判断日期格式是否正确
* 参数 $str 日期字符串
$format 日期格式
* 返回 无
*/
function isDate($str,$format="Y-m-d"){
$unixTime=strtotime($str);
$checkDate= date($format,$unixTime);
if($checkDate==$str)
return 1;
else
return 0;
}//end function isDate
ereg preg_match
ereg_replace preg_replace
2.请说明在php.ini中safe_mode开启之后对于PHP系统函数的影响
3.PHP5中魔术方法函数有哪几个,请举例说明各自的用法
__sleep
__wakeup
__toString
__set_state
__construct,
__destruct
__call,
__get,
__set,
__isset,
__unset
__sleep,
__wakeup,
__toString,
__set_state,
__clone
__autoload
4.请写出让,并说明如何在命令行下运行PHP脚本(写出两种方式)同时向PHP脚本传递参数?
5.PHP的垃圾收集机制是怎样的
6.使对象可以像数组一样进行foreach循环,要求属性必须是私有。
(Iterator模式的PHP5实现,写一类实现Iterator接口)
7.请写一段PHP代码,确保多个进程同时写入同一个文件成功
8.用PHP实现一个双向队列
9.使用正则表达式提取一段标识语言(html或xml)代码段中指定标签的指定属性值(需考虑属性值对不规则的情况,如大小写不敏感,属性名值与等号间有空格等)。此处假设需提取test标签的attr属性值,请自行构建包含该标签的串
<test attr=”ddd”>
<test attr\s*=\s*[“|’](.*?)[”|’].*?>
10.请使用socket相关函数(非curl)实现如下功能:构造一个post请求,发送到指定http server的指定端口的指定请求路径(如http://www.example.com:8080/test)。请求中包含以下变量:
用户名(username):温柔一刀
密码(pwd):&123=321&321=123&
个人简介(intro):Hello world!
且该http server需要以下cookie来进行简单的用户动作跟踪:
cur_query:you&me
last_tm:...(上次请求的unix时间戳,定为当前请求时间前10分钟)
cur_tm:...(当前请求的unix时间戳)
设置超时为10秒,发出请求后,将http server的响应内容输出。
11.你用什么方法检查PHP脚本的执行效率(通常是脚本执行时间)和数据库SQL的效率(通常是数据库Query时间),并定位和分析脚本执行和数据库查询的瓶颈所在?
摘个回帖:
这是一个网络蜘蛛的特征
(垃圾收集机制)
表示是长时间运行的程序
(魔术方法函数+Iterator)
表明多人开发,此项目不小
腾迅想要做搜索了,选择php,表明他们不是很看好这个项目,只想看市场反应
市场好,则鸟枪换炮,会用C重写,市场不好,则项目撤消。
所以,phper加入这个项目没有一点前途
<?php
$q6 = array("A"=>"Acer",
"B"=>"Asus",
"C"=>"BenQ",
"D"=>"Compower",
"E"=>"Dell",
"F"=>"Fujitsu",
"G"=>"HP",
"H"=>"IBM",
"I"=>"Lenovo",
"J"=>"LG",
"K"=>"NEC",
"L"=>"Samsung",
"M"=>"SONY",
"N"=>"Toshiba");
var_dump( unserialize(strtolower(serialize($q6))));