转php面试题及我的答案(二)

 1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量(1)中;而链接到当前页面的的前一页面URL记录在预定义变量(2)中

<? php
// 本页地址,SCRIPT_NAME也可以:php/test.php
echo   $_SERVER [ ' PHP_SELF ' ] . " <br /> " ;
// 链接到当前页面的前一页面的 URL 地址:
echo   $_SERVER [ ' HTTP_REFERER ' ] . " <br /> " ;

// 其它的见参考手册:语言参考》变量》预定义变量
//前执行脚本的绝对路径名:D:Inetpubwwwrootphp est.php 

echo   $_SERVER [ " SCRIPT_FILENAME " ] . " <br /> " ;
// 正在浏览当前页面用户的 IP 地址:127.0.0.1
echo   $_SERVER [ " REMOTE_ADDR " ] . " <br /> " ;
// 查询(query)的字符串(URL 中第一个问号 ? 之后的内容):id=1&bi=2
echo   $_SERVER [ " QUERY_STRING " ] . " <br /> " ;
// 当前运行脚本所在的文档根目录:d:inetpubwwwroot
echo   $_SERVER [ " DOCUMENT_ROOT " ] . " <br /> " ;
?>

2.执行程序段<?php echo 8%(-2) ?>将输出__。

<? php
// 参考手册》语言参考》运算符》算术运算符》%为取模运算,输出0
echo   8 % ( - 2 ) . " <br /> " ;
// 取模 $a % $b 在 $a 为负值时的结果也是负值。输出-2
echo  (( - 8 ) % 3 ) . " <br /> " ;
// 输出2
echo  ( 8 % ( - 3 )) . " <br /> " ;
?>

3.在HTTP 1.0中,状态码 401 的含义是____;如果返回“找不到文件”的提示,则可用 header 函数,其语句为____。

答:401表示未授权;header("HTTP/1.0 404 Not Found");[见参考手册》函数参考》HTTP函数》header]

4.数组函数 arsort 的作用是____;语句 error_reporting(2047)的作用是____。

答:arsort:对数组进行逆向排序并保持索引关系 error_reporting(2047)的作用是:report All errors and warnings

5.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把script标记及其内容都去掉):

<? php
$script = " 以下内容不显示:<script language='javascript'>alert('cc');</script> " ;
echo   preg_replace ( " /<script[^>].*?>.*?</script>/si " ,   " 替换内容 " ,   $script );
?>

6.以Apache模块的方式安装PHP,在文件http.conf中首先要用语句____动态装载PHP模块,
然后再用语句____使得Apache把所有扩展名为php的文件都作为PHP脚本处理。
答:LoadModule php5_module "c:/php/php5apache2.dll";AddType application/x-httpd-php .php

见参考手册》目录》II. 安装与配置》6. Windows 系统下的安装Microsoft Windows 下的 Apache 2.0.x

7.语句 include 和 require 都能把另外一个文件包含到当前文件中,它们的区别是____;为了避免多次包含同一文件,可以用语句____来代替它们。
答:在如何处理失败时,include() 产生一个警告require() 则导致一个致命错误;require_once()/include_once()

8.一个函数的参数不能是对变量的引用,除非在php.ini中把____设为on.
答:allow_call_time_pass_reference boolean :是否启用在函数调用时强制参数被按照引用传递, 见参考手册》附录G

9.SQL 中LEFT JOIN的含义是__,如果 tbl_user记录了学生的姓名(name)和学号(ID),
tbl_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号(ID)和考试成绩(score)以及考试科目(subject),要想打印出各个学生姓名及对应的的各科总成绩,则可以用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 ' 数学 ' );
insert   into  tbl_score (ID, score, subject)  values  ( 2 86 ' 数学 ' );
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是一种特殊的字符串,它的结束标志必须____
答:结束标识符所在的行不能包含任何其它字符除";"

11.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。

<? 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 " ));
?>

 

参考文件:

1.http://blog.chinaunix.net/u/21675/showart_153169.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值