个人总结php笔试题五
19.能够使php和HTML分离使用的模板
Smarty,Dwoo,TinyButStrong,Template Lite,Savant,phemplate,XTemplate
20.mysql_feetch_row()和mysql_fetch_array()之间有什么区别。
mysql_fetch_row() 函数从结果集中取得一行作为数字数组
返回根据所取得的行生成的数组,如果没有更多行则返回 false
mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。
mysql_fetch_array() 是 mysql_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。
有很重要的一点必须指出,用 mysql_fetch_array() 并不明显比用 mysql_fetch_row() 慢,而且还明显提供了更多的值。
21.$a=’abcdef’请取出$a的值并打印第一个字母。
echo $a[0];
echo $a{0};
echo chr(ord($a));
echo substr( $a, 0,1);
22.请写出PHP5权限控制修饰符
public(公共),private(私用),protected(继承)
23.sql中left join,right jion,inner join,cross join区别
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行
left\right join是外部连接,inner join是内连接
外部连接有主表与从表,主表在left中是左侧表,right中是右侧表,主表数据会全部显示,从表数据则只显示关联部分匹配的数据,无匹配的数据用null补全内连接则只显示两表关联条件匹配的数据
注:所谓关联条件即是指on的条件
SELECT A.id AS I,A.cid AS Card_id,U.name AS Creator,T.name AS Tpl_name
FROM zhope_card A INNER JOIN zhope_user U ON A.adduser=U.id INNER JOIN zhope_tpl T ON A.tpl=T.id
24.用PHP写出显示客户端IP与服务器IP的代码
打印客户端IP:echo $_SERVER[‘REMOTE_ADDR’]; 或者: getenv(‘REMOTE_ADDR’);
打印服务器IP:echo gethostbyname(‘www.meizhi520.com’)
25.session与cookie的区别?
session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放
cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。
两者都可通过时间来设置时间长短
26.用PHP打印出前一天的时间格式是2013-11-26 12:11:11
echo date(‘Y-m-d Hs’, strtotime(‘-1 days’));
27.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。(目录操作)
$d = dir(dirname(__file__));
echo "Handle: " . $d->handle . "\n";
echo "Path: " . $d->path . "\n";
while ( false !== ($entry = $d->read ()) ) {
echo $entry . "";
}
$d->close ();
28.如何实现字符串翻转?
echo strrev($a);
29.请写出php5的构造函数和析构函数
__construct , __destruct
30.模板引擎
参考:http://developer.51cto.com/art/201107/276228.htm
Smarty,Heyes Template Class,FastTemplate
31.GD函式库是做什么的
处理和显示各式格式的图档
32.防止sql注入漏洞可以使用哪些函数
参考:http://blog.csdn.net/dyt19941205/article/details/51884299
addslashes
33.写出linux中,查找后缀名为.txt的且包含delete的文件,找出并删除的命令
find / -type f -name “*.text” | xargs grep “delete” -delete
34.数据库中的事物是什么
事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,
事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。
35.怎么修改session的生存时间
session_start();
// 保存一天
$lifeTime = 24 * 3600;
setcookie(session_name(), session_id(), time() + $lifeTime, "/");
36.有一个网页地址,如何得到它的内容
方法1(对于PHP5及更高版本):
$readcontents = fopen("http://www.phpres.com/index.html", "rb");
$contents = stream_get_contents($readcontents);
fclose($readcontents);
echo $contents;
方法2:
echo file_get_contents("http://www.phpres.com/index.html");
file_get_contents 函数 面对很多网站会不好使,
我们通常使用curl 或者基于curl的一些类库进行抓取相关的项目。
例如有个类叫 snoppy 可以试试看,这个是比较早但是比较好用的类库。
curl很强大,是用来模拟登录的,只要你会用,可以抓取任意网页
function curl_sendget($get_url,$timeout=5){
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$get_url);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl,CURLOPT_HEADER,0);
curl_setopt($curl,CURLOPT_TIMEOUT,$timeout);
$result = curl_exec($curl);
$this->error=curl_error($curl);
curl_close($curl);
if(!$result){
return false;
}
return $result;
}
37.写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名
例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php
function getExt($url){
$arr = parse_url($url);
$file = basename($arr['path']);
$ext = explode(".",$file);
return $ext[1];
}
38.sql语句中插入,更新,删除
1.插入
a
$sql=”insert into Ad(AdClassID,AdType,AdTit,AdFileName,AdUrl,AShow,Addtime) values(‘“.$AdClassID.”‘,’”.$AdType.”‘,’”.$AdTit.”‘,’”.$AdFileName.”‘,’”.$AdUrl.”‘,’1’,’”.$Addtime.”‘)”;
2.更新
$SQl = “update xxf_witkey_activity set subhead=’”.$subhead.”‘ where a_id=”.$a_id.””;
3.删除
Delete from `TABLE` where `ID` in (1,2,3,4,5)
还没有评论,来说两句吧...