php面试题一(附答案)

1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量()中;而链接到当前页面的URL记录在预定义变量()中。
echo $_SERVER[‘PHP_SELF’]; echo $_SERVER[“HTTP_REFERER”];
2.执行程序段将输出()
0
3.在HTTP 1.0中,状态码 401 的含义是();如果返回“找不到文件”的提示,则可用 header 函数,其语句为()
未授权 header(“HTTP/1.0 404 Not Found”)
4.数组函数 arsort 的作用是();语句 error_reporting(2047)的作用是()
对数组进行逆向排序并保持索引关系 All errors and warnings
5.写出一个正则表达式,过虑网页上的所有JS脚本(即把script标记及其内容都去掉)

 /].*?>.*?<\/script>/si

6.语句 include 和 require 都能把另外一个文件包含到当前文件中,它们的区别是();为了避免多次包含同一文件,可以用语句()来代替它们。
发生异常时include产生警告require产生致命错误
require_once()/include_once()
7.类的属性可以序列化后保存到 session 中,从而以后可以恢复整个类,这要用到的函数是serialize() /unserialize()
8.一个函数的参数不能是对变量的引用,除非在php.ini中把()设为on.
allow_call_time_pass_reference
9.在PHP中,heredoc是一种特殊的字符串,它的结束标志必须()
结束标识符所在的行不能包含任何其它字符除
10.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹

/**
* 遍历目录,结果存入数组。支持php4及以上。php5以后可用scandir()函数代替while循环。
* @param string $dir
* @return array
*/
function my_scandir($dir)
{
    $files = array();
    if ( $handle = opendir($dir) ) {
        while ( ($file = readdir($handle)) !== false ) {
            if ( $file != ".." && $file != "." ) {
                if ( is_dir($dir . "/" . $file) ) {
                    $files[$file] = rec_scandir($dir . "/" . $file);
                }else {
                    $files[] = $file;
                }
            }
        }
        closedir($handle);
        return $files;
    }
} 

你可能感兴趣的:(php基础,php面试)