1.在PHP中,當(dāng)前腳本的名稱(不包括路徑和查詢字符串)記錄在預(yù)定義變量(1)中;而鏈接到當(dāng)前頁面的的前一頁面URL記錄在預(yù)定義變量(2)中
<?php
//本頁地址,SCRIPT_NAME也可以:php/test.php
echo $_SERVER['PHP_SELF']."
“;
//鏈接到當(dāng)前頁面的前一頁面的 URL 地址:
echo $_SERVER['HTTP_REFERER'].”
“;
//其它的見參考手冊:語言參考》變量》預(yù)定義變量
//前執(zhí)行腳本的絕對路徑名:D:Inetpubwwwrootphp est.php
echo $_SERVER["SCRIPT_FILENAME"].”
“;
//正在瀏覽當(dāng)前頁面用戶的 IP 地址:127.0.0.1
echo $_SERVER["REMOTE_ADDR"].”
“;
//查詢(query)的字符串(URL 中第一個(gè)問號 ? 之后的內(nèi)容):id=1&bi=2
echo $_SERVER["QUERY_STRING"].”
“;
//當(dāng)前運(yùn)行腳本所在的文檔根目錄:d:inetpubwwwroot
echo $_SERVER["DOCUMENT_ROOT"].”
“;
?>
2.執(zhí)行程序段將輸出__。
<?php
//參考手冊》語言參考》運(yùn)算符》算術(shù)運(yùn)算符》%為取模運(yùn)算,輸出0
echo 8%(-2)."
“;
//取模 $a % $b 在 $a 為負(fù)值時(shí)的結(jié)果也是負(fù)值。輸出-2
echo ((-8)%3).”
“;
//輸出2
echo (8%(-3)).”
“;
?>
3.在HTTP 1.0中,狀態(tài)碼 401 的含義是____;如果返回“找不到文件”的提示,則可用 header 函數(shù),其語句為____。
答:401表示未授權(quán);header(“HTTP/1.0 404 Not Found”);[見參考手冊》函數(shù)參考》HTTP函數(shù)》header]
4.數(shù)組函數(shù) arsort 的作用是____;語句 error_reporting(2047)的作用是____。
答:arsort:對數(shù)組進(jìn)行逆向排序并保持索引關(guān)系 error_reporting(2047)的作用是:report All errors and warnings
5.寫出一個(gè)正則表達(dá)式,過慮網(wǎng)頁上的所有JS/VBS腳本(即把script標(biāo)記及其內(nèi)容都去掉):
<?php
$script="以下內(nèi)容不顯示:alert(‘cc’);";
echo preg_replace("/].*?>.*?/si", "替換內(nèi)容", $script);
?>
6.以Apache模塊的方式安裝PHP,在文件http.conf中首先要用語句____動(dòng)態(tài)裝載PHP模塊,
然后再用語句____使得Apache把所有擴(kuò)展名為php的文件都作為PHP腳本處理。
答:LoadModule php5_module "c:/php/php5apache2.dll";AddType application/x-httpd-php .php
見參考手冊》目錄》II. 安裝與配置》6. Windows 系統(tǒng)下的安裝》Microsoft Windows 下的 Apache 2.0.x
7.語句 include 和 require 都能把另外一個(gè)文件包含到當(dāng)前文件中,它們的區(qū)別是____;為了避免多次包含同一文件,可以用語句____來代替它們。
答:在如何處理失敗時(shí),include() 產(chǎn)生一個(gè)警告而 require() 則導(dǎo)致一個(gè)致命錯(cuò)誤;require_once()/include_once()
8.一個(gè)函數(shù)的參數(shù)不能是對變量的引用,除非在php.ini中把____設(shè)為on.
答:allow_call_time_pass_reference boolean :是否啟用在函數(shù)調(diào)用時(shí)強(qiáng)制參數(shù)被按照引用傳遞, 見參考手冊》附錄G
9.SQL 中LEFT JOIN的含義是__,如果 tbl_user記錄了學(xué)生的姓名(name)和學(xué)號(ID),
tbl_score記錄了學(xué)生(有的學(xué)生考試以后被開除了,沒有其記錄)的學(xué)號(ID)和考試成績(score)以及考試科目(subject),要想打印出各個(gè)學(xué)生姓名及對應(yīng)的的各科總成績,則可以用SQL語句____.
答:自然左外連接
create database phpinterview;
use phpinterview
create table tbl_user
(
ID int not null,
name varchar(50) not null,
primary key (ID)
);
create table tbl_score
(
ID int not null,
score dec(6,2) not null,
subject varchar(20) not null
);
insert into tbl_user (ID, name) values (1, 'beimu');
insert into tbl_user (ID, name) values (2, 'aihui');
insert into tbl_score (ID, score, subject) values (1, 90, '語文');
insert into tbl_score (ID, score, subject) values (1, 80, '數(shù)學(xué)');
insert into tbl_score (ID, score, subject) values (2, 86, '數(shù)學(xué)');
insert into tbl_score (ID, score, subject) values (2, 96, '語文');
select A.id,sum(B.score) as sumscore
from tbl_user A left join tbl_score B
on A.ID=B.ID
group by A.id
10. 在PHP中,heredoc是一種特殊的字符串,它的結(jié)束標(biāo)志必須____
答:結(jié)束標(biāo)識符所在的行不能包含任何其它字符除";"
11.寫一個(gè)函數(shù),能夠遍歷一個(gè)文件夾下的所有文件和子文件夾。
<?php
function my_scandir($dir)
{
$files=array();
if(is_dir($dir))
{
if($handle=opendir($dir))
{
while(($file=readdir($handle))!==false)
{
if($file!="." && $file!="..")
{
if(is_dir($dir."/".$file))
{
$files[$file]=my_scandir($dir."/".$file);
}
else
{
$files[]=$dir."/".$file;
}
}
}
closedir($handle);
return $files;
}
}
}
print_r(my_scandir("D:Program FilesInternet ExplorerMUI"));
?>