1.對(duì)于大流量的網(wǎng)站,您采用什么樣的方法來解決訪問量問題?
1 有效使用緩存,增加緩存命中率
2 使用負(fù)載均衡
3 對(duì)靜態(tài)文件使用CDN進(jìn)行存儲(chǔ)和加速
4 想法減少數(shù)據(jù)庫的使用
5 查看出現(xiàn)統(tǒng)計(jì)的瓶頸在哪里
2.用PHP寫出顯示客戶端IP與服務(wù)器IP的代碼
$_SERVER["REMOTE_ADDR"]
$_SERVER["SERVER_ADDR"]
3.語句include和require的區(qū)別是什么?為避免多次包含同一文件,可用(?)語句代替它們?
在失敗的時(shí)候:
include產(chǎn)生一個(gè)warning,而require產(chǎn)生直接產(chǎn)生錯(cuò)誤中斷
require在運(yùn)行前載入
include在運(yùn)行時(shí)載入
require_once
include_once
4.如何修改SESSION的生存時(shí)間
session_set_cookie_params
5.有一個(gè)網(wǎng)頁地址, 比如PHP研究室主頁: http://www.phpv.net/index.html,如何得到它的內(nèi)容?
file_get_contents
curl
6.在HTTP 1.0中,狀態(tài)碼401的含義是(?);如果返回“找不到文件”的提示,則可用 header 函數(shù),其語句為
未授權(quán)
header("HTTP/1.0 404 Not Found");
fast CGI中:
header("Status: 404 Not Found");
7.在PHP中error_reporting這個(gè)函數(shù)有什么作用?
設(shè)定error的展示級(jí)別
8.請(qǐng)寫一個(gè)函數(shù)驗(yàn)證電子郵件的格式是否正確
$str = "jianfeng@126.com";
regex="([a?z0?9\.?]+)@([\da?z\.?]+)\.([a?z\.]2,6); //正則
return preg_match(regex,regex,str)
9.簡(jiǎn)述如何得到當(dāng)前執(zhí)行腳本路徑,包括所得到參數(shù)
$argc --獲取參數(shù)數(shù)量
$argv --獲取參數(shù)列表
10.foo()和@foo()之間有什么區(qū)別?
@代表所有warning忽略
11.如何聲明一個(gè)名為”myclass”的沒有方法和屬性的類?
class myclass
{
}
12.如何實(shí)例化一個(gè)名為”myclass”的對(duì)象?
$myclass = new myclass();
13.你如何訪問和設(shè)置一個(gè)類的屬性
<?php
class A{
public $name='1';
}
$a=new A();
n=a->name;
print_r($n);
14.mysql_fetch_row() 和mysql_fetch_array之間有什么區(qū)別?
mysql_fetch_array() 是 mysql_fetch_row() 的擴(kuò)展版本。除了將數(shù)據(jù)以數(shù)字索引方式儲(chǔ)存在數(shù)組中之外,還可以將數(shù)據(jù)作為關(guān)聯(lián)索引儲(chǔ)存,用字段名作為鍵名。
mysql_fetch_row是從結(jié)果集取出1行數(shù)組,作為枚舉
mysql_fetch_array是從結(jié)果集取出一行數(shù)組作為關(guān)聯(lián)數(shù)組,或數(shù)字?jǐn)?shù)組,兩者兼得
$sql="select abc,def from a";
$res=mysql_query($sql);
那么:
$row=mysql_fetch_row($res);
$row結(jié)果是兩個(gè):$row[0]和$row[1]
那么:
$row=mysql_fetch_array($res);
$row結(jié)果是4個(gè):$row[0]、$row[1]、$row["abc"]和$row["def"]
15.GD庫是做什么用的?
動(dòng)態(tài)的開放的圖片處理庫
16.請(qǐng)寫出數(shù)據(jù)類型(int char varchar datetime text)的意思; 請(qǐng)問varchar和char有什么區(qū)別
int 整型
char 存儲(chǔ)定長(zhǎng)
varchar 存儲(chǔ)變長(zhǎng)
datetime 時(shí)間
text 存儲(chǔ)變長(zhǎng)的
varchar是變長(zhǎng)
char(20) 定長(zhǎng)
17.MySQ自增類型(通常為表ID字段)必需將其設(shè)為(?)字段
auto_increment
18.檢測(cè)一個(gè)變量是否有設(shè)置的函數(shù)是否?是否為空的函數(shù)是?
isset()
empty()
19.取得查詢結(jié)果集總數(shù)的函數(shù)是?
mysql_num_rows()
20.$arr = array('james', 'tom', 'symfony'); 請(qǐng)打印出第一個(gè)元素的值
print_r($arr[0]);
print_r(current($arr));
print_r(array_shift($arr));
21.a=′abcdef′;請(qǐng)取出a=′abcdef′;請(qǐng)取出a的值并打印出第一個(gè)字母
substr($a, 0, 1);
22.請(qǐng)寫出PHP5權(quán)限控制修飾符
public? ? private? ? protected
23.請(qǐng)寫出php5的構(gòu)造函數(shù)和析構(gòu)函數(shù)
public function __construct(){}
public function __destruct(){}
24.寫一個(gè)函數(shù),盡可能高效的,從一個(gè)標(biāo)準(zhǔn) url 里取出文件的擴(kuò)展名
$url='http://www.sina.com.cn/abc/de/fg.php?id=1&a=c&t=12';
function getExt($url)
{
$pathArr=pathinfo($url);
$str=$pathArr['extension'];
list($type,$vars) =explode('?',$str);
return$type;
}
function getExt($url){
$arr=parse_url($url);
$name=basename($arr['path']);
$extArr=explode('.',$name);
return $extArr[1];
}
function getExt($url){
$arr=parse_url($url);
$path=$arr['path'];
$str=strrchr($path,'.');
return $str;
}
25.寫一個(gè)函數(shù),算出兩個(gè)文件的相對(duì)路徑
$a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
計(jì)算出 b相對(duì)于b相對(duì)于a 的相對(duì)路徑應(yīng)該是 http://www.cnblogs.com/12/34/c.php將添上