簡述題(50分)
1、用PHP列印出前一天的時間格式是2006-5-10 22:21:21(2分)
echo date('Y-m-d H:i:s', strtotime('-1 day'));
2、echo(),print(),print_r()的區別(3分)
echo是PHP語句, print和print_r是函數,語句沒有傳回值,函數可以有傳回值(即便沒有用)
print只能列印出簡單類型變數的值(如int,string)
print_r可以列印出複雜類型變數的值(如數組,對象)
echo -- 輸出一個或者多個字串
3、能夠使HTML和PHP分離開使用的模板(1分)
smarty,Heyes Template Class等
5、使用哪些工具進資料列版本設定?(1分)
VS Server on Apache作服務端,WinCVS作用戶端;Subversion on Apache/DAV 做服務端,TortoiseSVN做用戶端,或者Subclipse做用戶端.
6、如何?字串翻轉?(3分)
strrev()
---------------------------------------------------------------
7、最佳化MYSQL資料庫的方法。(4分,多寫多得)
(1).選取最適用的欄位屬性,應該盡量把欄位設定為NOT NULL,這樣在將來執行查詢的時候,資料庫不用去比較NULL值。
(2).使用串連(JOIN)來代替子查詢(Sub-Queries)
(3).使用聯合(UNION)來代替手動建立的暫存資料表
(4).盡量少使用 LIKE 關鍵字和萬用字元
(5).使用事務和外鍵
8、PHP的意思(送1分)
Hypertext Preprocessor
9、MYSQL取得目前時間的函數是?,格式化日期的函數是(2分)
now(), DATE_FORMAT(date,format)
10、實現中文字串截取無亂碼的方法。(3分)
mb_substr()
---------------------------------------------------------------
11、您是否用過版本控制軟體? 如果有您用的版本控制軟體的名字是?(1分)
TortoiseSVN-1.2.6 svn-1.2.3
12、您是否用過模板引擎? 如果有您用的模板引擎的名字是?(1分)
smarty
13、請簡單闡述您最得意的開發之作(4分)
14、對於大流量的網站,您採用什麼樣的方法來解決訪問量問題?(4分)
首先,確認伺服器硬體是否足夠支援當前的流量
其次,最佳化資料庫訪問。
第三,禁止外部的盜鏈。
第四,控制大檔案的下載。
第五,使用不同主機分流主要流量
第六,使用流量分析統計軟體。
-----------------------------------------------------------------
15、用PHP寫出顯示用戶端IP與伺服器IP的代碼1分)
function get_client_ip() {#
if(getenv('HTTP_CLIENT_IP')) {
$client_ip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')) {
$client_ip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) {
$client_ip = getenv('REMOTE_ADDR');
} else {
$client_ip = $HTTP_SERVER_VAR['REMOTE_ADDR'];
}
return $client_ip;
}
16、語句include和require的區別是什麼?為避免多次包含同一檔案,可用(?)語句代替它們? (2分)
require()和include()除了怎樣處理失敗之外在各方面都完全一樣。include()產生一個警告而require()則導致一個致命錯誤。
換句話說,如果你想在丟失檔案時停止處理頁面,用require()。include() 就不是這樣,指令碼會繼續運行。
require()無論如何都會包含檔案,而include()可以有選擇地包含.
代替用
include_once
require_once
17、如何修改SESSION的存留時間(1分).
$savePath = "./session_save_dir/";
$lifeTime = 24 * 3600;
session_save_path($savePath);
session_set_cookie_params($lifeTime);
session_start();
18、有一個網頁地址, 比如PHP開發資源網首頁: http://www.phpres.com/index.html,如何得到它的內容?($1分)
file_get_contents($url)
19、在HTTP 1.0中,狀態代碼401的含義是(?);如果返回“找不到檔案”的提示,則可用 header 函數,其語句為(?);(2分)
未授權(Unauthorized)
Header("http/1.0 403 Forbidden");
12、在PHP中,heredoc是一種特殊的字串,它的結束標誌必須?(1分)
跟起始的一樣,且結束標誌前也要一個換行,後面加上分號
13、談談asp,php,jsp的優缺點(1分)
14、談談對mvc的認識(1分)
-------------------------------------------------------------------
15、寫出發貼數最多的十個人名字的SQL,利用下表:members(id,username,posts,pass,email)(2分)
select members.username
from members
order by posts DESC
limit 10
16. 請說明php中傳值與傳引用的區別。什麼時候傳值什麼時候傳引用?(2分)
按值傳遞:函數範圍內對值的任何改變在函數外部都會被忽略
按引用傳遞:函數範圍內對值的任何改變在函數外部也能反映出這些修改
優缺點:按值傳遞時,php必須複製值。特別是對於大型的字串和對象來說,這將會是一個代價很大的操作。
按引用傳遞則不需要複製值,對於效能提高很有好處。
17. 在PHP中error_reporting這個函數有什麼作用? (1分)
用來配置錯誤資訊回報的等級
18. 請寫一個函數驗證電子郵件的格式是否正確 (2分)
//if the email address is valid, return true,else return false
function validateEmail($email)
{
if(eregi('^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$',$email) ){
return true;
}else{
return false;
}
}
19. 簡述如何得到當前執行指令碼路徑,包括所得到參數。(2分)
echo $_SERVER['scrīpt_FILENAME']."?".$_SERVER['QUERY_STRING'];
20.如何修改SESSION的存留時間. (1分)
setcookie()
或
session_set_cookie_params($lifeTime)
--------------------------------------------------------------------
21、JS表單彈出對話方塊函數是?獲得輸入焦點函數是? (2分)
alert(),prompt(),confirm()
focus()
22、JS的轉向函數是?怎麼引入一個外部JS檔案?(2分)
window.location.href
23、foo()和@foo()之間有什麼區別?(1分)
@這個主要是起屏蔽錯誤的作用!
24、如何聲明一個名為”myclass”的沒有方法和屬性的類? (1分)
class myclass{};
25、如何執行個體化一個名為”myclass”的對象?(1分)
$newmyclass = new myclass();
26、你如何訪問和設定一個類的屬性? (2分)
通過-〉
$newmyclass = new myclass();
$temp=$newmyclass->testvalue;
$newmyclass->testvalue="a";
27、mysql_fetch_row() 和mysql_fetch_array之間有什麼區別? (1分)
mysql_fetch_row -- 從結果集中取得一行作為枚舉數組
mysql_fetch_array -- 從結果集中取得一行作為關聯陣列,或數字數組,或二者兼有
--------------------------------------------------------------------
28、GD庫是做什麼用的? (1分)
GD庫提供了一系列用來處理圖片的API,使用GD庫可以處理圖片,或者產生圖片。
在網站上GD庫通常用來產生縮圖或者用來對圖片加浮水印或者對網站資料產生報表。
29、指出一些在PHP輸入一段HTML代碼的辦法。(1分)
print("
");
30、下面哪個函數可以開啟一個檔案,以對檔案進行讀和寫操作?(1分)(c)
(a) fget() (b) file_open() (c) fopen() (d) open_file()
31、下面哪個選項沒有將 john 添加到users 數組中? (1分) (c)(d)
(a) $users[] = ‘john’;
(b) array_add($users,’john’);
(c) array_push($users,‘john’);
(d) $users ||= ‘john’;
32、下面的程式會輸入是否?(1分)
$num = 10;
function multiply(){
$num = $num * 10;
}
multiply();
echo $num;
?>
否,局部變數
33、使用php寫一段簡單查詢,查出所有姓名為“張三”的內容並列印出來 (2分)
表名User
Name Tel Content Date
張三 13333663366 大專畢業 2006-10-11
張三 13612312331 本科畢業 2006-10-15
張四 021-55665566 中專畢業 2006-10-15
請根據上面的題目完成代碼:
$mysql_db=mysql_connect("local","root","pass");
@mysql_select_db("DB",$mysql_db);
$result=mysql_query("select * from User where Name='張三'");
while($row=mysql_fetch_array($result))
{
echo $row['Name'].$row['Tel'].$row['Content'].$row['Date'];
echo "
";
}
34、如何使用下面的類,並解釋下面什麼意思?(3)
class test{
function Get_test($num){
$num=md5(md5($num)."En");
return $num;
}
}
雙重md5加密
$testObject = new test();
$encryption = $testObject->Get_test("xiaotian_ls");
----------------------------------------------------------------------------
35、寫出 SQL語句的格式 : 插入 ,更新 ,刪除 (4分)
表名User
Name Tel Content Date
張三 13333663366 大專畢業 2006-10-11
張三 13612312331 本科畢業 2006-10-15
張四 021-55665566 中專畢業 2006-10-15
(a) 有一新記錄(小王 13254748547 高中畢業 2007-05-06)請用SQL語句新增至表中
INSERT INTO User('Name','Tel','Content','Date') VALUES('小王','13254748547','高中畢業','2007-05-06')
(b) 請用sql語句把張三的時間更新成為當前系統時間
UPDATE User SET Date=DATE_FORMAT(NOW(),'%Y-%m-%d') WHERE Name='張三'
(c) 請寫出刪除名為張四的全部記錄
DELETE FROM User WHERE Name='張四'
36、請寫出資料類型(int char varchar datetime text)的意思; 請問varchar和char有什麼區別(2分)
37、MySQ自增類型(通常為表ID欄位)必需將其設為(?)欄位(1分)
38、寫出以下程式的輸出結果 (1分)
$b=201;
$c=40;
$a=$b>$c?4:5;
echo $a;
?>
39、檢測一個變數是否有設定的函數是否?是否為空白的函數是?(2分)
-----------------------------------------------------------------------------
40、取得查詢結果集總數的函數是?(1分)
41、$arr = array('james', 'tom', 'symfony'); 請列印出第一個元素的值 (1分)
42、請將41題的數組的值用','號分隔併合並成字串輸出(1分)
43、$a = 'abcdef'; 請取出$a的值並列印出第一個字母(1分)
44、PHP可以和sql server/oracle等資料庫連接嗎?(1分)
45、請寫出PHP5許可權控制修飾符(3分)
46、請寫出php5的建構函式和解構函式(2分)
------------------------------------------------------------------------------
47、以下請用PHPMYADMIN完成
(一)建立新聞發布系統,表名為message有如下欄位 (3分)
id 文章id
title 文章標題
content 文章內容
category_id 文章分類id
hits 點擊量
(二)同樣上述新聞發布系統:表comment記錄使用者回複內容,欄位如下 (4分)
comment_id 回複id
id 文章id,關聯message表中的id
comment_content 回複內容
現通過查詢資料庫需要得到以下格式的文章標題列表,並按照回複數量排序,回複最高的排在最前面
文章id 文章標題 點擊量 回複數量
用一個SQL陳述式完成上述查詢,如果文章沒有回複則回複數量顯示為0
(三)上述內容管理系統,表category儲存分類資訊,欄位如下 (3分)
category_id int(4) not null auto_increment;
categroy_name varchar(40) not null;
使用者輸入文章時,通過選擇下拉式功能表選定文章分類
寫出如何?這個下拉式功能表