您的位置:首页 > 编程语言 > PHP开发

个人总结php笔试题五

2017-08-16 21:47 253 查看

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 H:i:s', 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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: