欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

新浪面試php筆試題與參考答案分析

  發(fā)布時間:2019-09-12 14:09:40   作者:Rodgexue   我要評論
這篇文章主要介紹了新浪面試php筆試題與參考答案,結(jié)合具體實例形式分析了php面試中正則、函數(shù)、目錄、文件等知識點及操作技巧,需要的朋友可以參考下

1. 在 HTML 語言中,頁面頭部的 meta 標記可以用來輸出文件的編碼格式,以下是一個標準的 meta 語句

<META http-equiv='Content-Type' content='text/html; charset=gbk'>

請使用 PHP 語言寫一個函數(shù),把一個標準 HTML 頁面中的類似 meta 標記中的 charset 部分值改為 big5

請注意:

(1) 需要處理完整的 html 頁面,即不光此 meta 語句
(2) 忽略大小寫
(3) ’ 和 ” 在此處是可以互換的
(4) ‘Content-Type’ 兩側(cè)的引號是可以忽略的,但 ‘text/html; charset=gbk’ 兩側(cè)的不行
(5) 注意處理多余空格

<?php 
/** //www.dbjr.com.cn */ 
$html = "<meta http-equiv='Content-Type' content='text/html; charset=gbk'>"; 
//匹配標準的meta標簽 
$pattern = "/<meta\s+http-equiv=(\'|\")?Content-Type(\'|\")?\s+content=(\'|\")text\/html;\s+charset=(.*)(\'|\")>/i"; 
$replacement = "<meta http-equiv='Content-Type' content='text/html; charset=big5'>"; 
$result = preg_replace($pattern, $replacement, $html); 
echo htmlspecialchars($result); 
?> 

2. 寫一個函數(shù),算出兩個文件的相對路徑

如:

$a = '/a/b/c/d/e.php'; 
$b = '/a/b/12/34/c.php'; 

計算出 $b 相對于 $a 的相對路徑應該是 ../../c/d將()添上

<?php
    /** by www.dbjr.com.cn */
    $a = '/a/b/c/d/e.php';
    $b = '/a/b/13/34/c.php';
    echo getRelativePath($a, $b); //"../../12/34/"
    function getRelativePath($a,$b){
        $a2array = explode('/', $a);
        $b2array = explode('/', $b);
        $relativePath   = '';
        for( $i = 1; $i <= count($b2array)-2; $i++ ) {
        $relativePath .= $a2array[$i] == $b2array[$i] ? '../' : $b2array[$i].'/';
        }
        return $relativePath;
    }
?>

3. 寫一個函數(shù),盡可能高效的,從一個標準 url 里取出文件的擴展名

例如: //www.dbjr.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php

<?php
/** by www.dbjr.com.cn */
$url = "//www.dbjr.com.cn/abc/de/fg.php?id=1";
$path = parse_url($url);
echo pathinfo($path['path'],PATHINFO_EXTENSION);  //php
?>

4. 寫一個函數(shù),能夠遍歷一個文件夾下的所有文件和子文件夾。
答:這個我之前就在博客中寫過(PHP文件遍歷及文件拷貝),只是實現(xiàn)的方法很多,效率不一定最高

/*
*@blog  //www.dbjr.com.cn
*/
function listDir($dir = '.'){
        if ($handle = opendir($dir)) {
            while (false !== ($file = readdir($handle))) {
                if($file == '.' || $file == '..'){
                    continue;
                }
                if(is_dir($sub_dir = realpath($dir.'/'.$file))){
                    echo 'FILE in PATH:'.$dir.':'.$file.'<br>';
                    listDir($sub_dir);
                }else{
                    echo 'FILE:'.$file.'<br>';
                }
            }
            closedir($handle);
        }
}
listDir('e:\www\abc');

相關文章

最新評論