成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

PHP經(jīng)典面試題有哪些

這篇文章給大家分享的是有關PHP經(jīng)典面試題有哪些的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)是專業(yè)的朝陽縣網(wǎng)站建設公司,朝陽縣接單;提供成都網(wǎng)站設計、成都網(wǎng)站建設、外貿(mào)網(wǎng)站建設,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行朝陽縣網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

1.合并兩個數(shù)組有幾種方式,試比較它們的異同

方式:

1、array_merge()

2、’+’

3、array_merge_recursive

異同:

array_merge 簡單的合并數(shù)組

array_merge_recursive 合并兩個數(shù)組,如果數(shù)組中有完全一樣的數(shù)據(jù),將它們遞歸合并

array_combine 和 ‘+’ :合并兩個數(shù)組,前者的值作為新數(shù)組的鍵

2.請寫一個函數(shù)來檢查用戶提交的數(shù)據(jù)是否為整數(shù)(不區(qū)分數(shù)據(jù)類型,可以為二進制、八進制、十進制、十六進制數(shù)字)

答:其實主要還是 is_int 和 floor 這個方法

if(!is_numeric($jp_total)||strpos($jp_total,".")!==false){  
    echo "不是整數(shù)";  
}else{  
    echo "是整數(shù)";  
}

3.PHP 的 strtolower () 和 strtoupper () 函數(shù)在安裝非中文系統(tǒng)的服務器下可能會導致將漢字轉(zhuǎn)換為亂碼,請寫兩個替代的函數(shù)實現(xiàn)兼容 Unicode 文字的字符串大小寫轉(zhuǎn)換

答:原因是:中文是由多字節(jié)組成的,而只有英文系統(tǒng)的單個英文字符只有一個字節(jié),所以該系統(tǒng)把中文的每一個字節(jié)都做了 strtolower () 處理,改變后的中文字節(jié)拼接在一起就成了亂碼(新生成的編碼映射對應的字符可能就不是中文了)

手動解決:用 str_split (string string,intstring,intsplit_length = 1) 按每個字節(jié)切割,像中文能切割成三個字節(jié)。對識別到的字節(jié)若是英文字母則進行轉(zhuǎn)換。

<?php  
function mystrtoupper($a){  
    $b = str_split($a, 1);  
    $r = '';  
    foreach($b as $v){  
        $v = ord($v);  
        if($v >= 97 && $v<= 122){  
            $v -= 32;  
        }  
        $r .= chr($v);  
    }  
    return $r;  
}  
$a = 'a中你繼續(xù)F@#$%^&*(BMDJFDoalsdkfjasl';  
echo 'origin string:'.$a." ";  
echo 'result string:';  
$r = mystrtoupper($a);  
var_dump($r);

4.PHP 的 is_writeable () 函數(shù)存在 Bug,無法準確判斷一個目錄 / 文件是否可寫,請寫一個函數(shù)來判斷目錄 / 文件是否絕對可寫

答:其中 bug 存在兩個方面,

1、在 windowns 中,當文件只有只讀屬性時,is_writeable () 函數(shù)才返回 false,當返回 true 時,該文件不一定是可寫的。

如果是目錄,在目錄中新建文件并通過打開文件來判斷;

如果是文件,可以通過打開文件(fopen),來測試文件是否可寫。

2、在 Unix 中,當 php 配置文件中開啟 safe_mode 時 (safe_mode=on),is_writeable () 同樣不可用。

讀取配置文件是否 safe_mode 是否開啟。

/**
* Tests for file writability
*
* is_writable() returns TRUE on Windows servers when you really can't write to
* the file, based on the read-only attribute. is_writable() is also unreliable
* on Unix servers if safe_mode is on.
*
* @access   private
* @return   void
*/
if ( ! function_exists('is_really_writable'))
{
    function is_really_writable($file){
    // If we're on a Unix server with safe_mode off we call is_writable
    if (DIRECTORY_SEPARATOR == '/' AND @ini_get("safe_mode") == FALSE){
        return is_writable($file);
    }
    // For windows servers and safe_mode "on" installations we'll actually
    // write a file then read it. Bah...
    if (is_dir($file)){
        $file = rtrim($file, '/').'/'.md5(mt_rand(1,100).mt_rand(1,100));
        if (($fp = @fopen($file, FOPEN_WRITE_CREATE)) === FALSE){
            return FALSE;
        }
        fclose($fp);
        @chmod($file, DIR_WRITE_MODE);
        @unlink($file);
        return TRUE;
    } elseif ( ! is_file($file) OR ($fp = @fopen($file, FOPEN_WRITE_CREATE)) === FALSE) {
        return FALSE;
    }
    fclose($fp);
    return TRUE;
    }
}

5.PHP 的 chmod () 函數(shù)存在 Bug,無法保證設置成功,請寫一個函數(shù)在指定路徑下創(chuàng)建一個目錄 / 文件并確??梢哉_設置權限掩碼

答:我也找不到答案

6.PHP 處理上傳文件信息數(shù)組中的文件類型 $_FILES [‘type’] 由客戶端瀏覽器提供,有可能是黑客偽造的信息,請寫一個函數(shù)來確保用戶上傳的圖像文件類型真實可靠

答:用 getimagesize 來判斷上傳圖片的類型比 $_FILES 函數(shù)的 type 更可靠

同一個文件,使用不同的瀏覽器 php 返回的 type 類型是不一樣的,由瀏覽器提供 type 類型的話,

就有可能被黑客利用向服務器提交一個偽裝撐圖片后綴的可執(zhí)行文件。

可以通過 getimagesize () 函數(shù)來判斷上傳的文件類型,如果是頭像文件 會返回這樣的一個數(shù)組

Array(
    [0] => 331
    [1] => 234
    [2] => 3
    [3] => width="331" height="234"
    [bits] => 8
    [mime] => image/png

);

如果通過 getimagesize () 函數(shù)返回的是這樣的一個數(shù)組 說明上傳的是頭像文件。其中索引為 2 的表示類型

1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 =JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM,

你可以通過這個再去限制上傳的頭像類型

<?php
    $file=$_FILES['file'];
    if(!empty($file))
    {
       var_dump($file);
       var_dump(getimagesize($file["tmp_name"]));
    }   
?>

7.PHP 通過對數(shù)據(jù)的 URL 編碼來實現(xiàn)與 Javascript 的數(shù)據(jù)交互,但是對于部分特殊字符的編解碼與 Javascript 的規(guī)則不盡相同,請具體說明這種差異,并針對 UTF-8 字符集的數(shù)據(jù),寫出 PHP 的編解碼函數(shù)和 Javascript 的編解碼函數(shù),確保 PHP 編碼數(shù)據(jù)可以被 Javascript 正確解碼 、Javascript 編碼的數(shù)據(jù)可以被 PHP 正確解碼

答:

<?php
 $str = '思源博客siyuantlw/tlw/sy/俺只是一個打醬油的';
 $str = iconv("GB2312",'UTF-8',$str);
 $str = urlencode($str); 
?>

//js decodeURIComponent 貌似對 GB2312 編碼的格式不識別,必須轉(zhuǎn)為 utf-8 才可以,然后,如果字符串中有空格的 就轉(zhuǎn)為 + 號了

<html>
 <script>
  var ds = '<?php echo $str;?>';
  var dddd= decodeURIComponent (ds);
  alert(dddd);
 </script>
</html>

感謝各位的閱讀!關于“PHP經(jīng)典面試題有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

分享標題:PHP經(jīng)典面試題有哪些
URL分享:http://jinyejixie.com/article8/pocjop.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設、網(wǎng)站內(nèi)鏈、定制網(wǎng)站、做網(wǎng)站、品牌網(wǎng)站制作軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設
兴国县| 清徐县| 芮城县| 常山县| 井研县| 措勤县| 聂荣县| 和林格尔县| 利川市| 景德镇市| 西乌珠穆沁旗| 宜阳县| 迁安市| 壤塘县| 高安市| 香河县| 会东县| 绥宁县| 乌兰县| 武川县| 湖南省| 邯郸市| 昌乐县| 永德县| 南涧| 台安县| 合山市| 温泉县| 杭锦旗| 芮城县| 广宗县| 广平县| 英超| 彭水| 巍山| 白河县| 普定县| 枣阳市| 林州市| 孙吴县| 恭城|