<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. php語言

    PHP程序員基本知識點

    時間:2025-06-02 23:21:17 php語言 我要投稿
    • 相關推薦

    PHP程序員基本知識點

      PHP程序員有哪些必備知識點?下面是百分網小編精心為大家整理的PHP程序員的基本知識點,希望對大家有幫助,更多內容請關注應屆畢業生網!

    PHP程序員基本知識點

      1.1 HTTP協議中幾個狀態碼的含義:503 500 401 403 404 200 301 302。。。

      200 : 請求成功,請求的數據隨之返回。

      301 : 永久性重定向。

      302 : 暫時行重定向。

      401 : 當前請求需要用戶驗證。

      403 : 服務器拒絕執行請求,即沒有權限。

      404 : 請求失敗,請求的數據在服務器上未發現。

      500 : 服務器錯誤。一般服務器端程序執行錯誤。

      503 : 服務器臨時維護或過載。這個狀態時臨時性的。

      1.2 Include require include_once require_once 的區別.

      處理失敗方式不同:

      require 失敗時會產生一個致命級別錯誤,并停止程序運行。

      include 失敗時只產生一個警告級別錯誤,程序繼續運行。

      include_once/require_once和include/require 處理錯誤方式一樣,

      唯一區別在于當所包含的文件代碼已經存在時候,不在包含。

      1.3 PHP/Mysql中幾個版本的進化史,比如mysql4.0到4.1,PHP 4.x到5.1的重大改進等等。

      1.4 HEREDOC介紹

      一種定義字符串的方法。

      結構:

      <<<。在該提示符后面,要定義個標識符(單獨一行),

      然后是一個新行。接下來是字符串 本身,

      最后要用前面定義的標識符作為結束標志(單獨一行)

      注意:

      標識符的命名也要像其它標簽一樣遵守PHP的規則:

      只能包含字母、數字和下劃線,并且必須以字母和下劃線作為開頭

      1.5 寫出一些php魔幻(術)方法;

      __construct() 實例化類時自動調用。

      __destruct() 類對象使用結束時自動調用。

      __set() 在給未定義的屬性賦值的時候調用。

      __get() 調用未定義的屬性時候調用。

      __isset() 使用isset()或empty()函數時候會調用。

      __unset() 使用unset()時候會調用。

      __sleep() 使用serialize序列化時候調用。

      __wakeup() 使用unserialize反序列化的時候調用。

      __call() 調用一個不存在的方法的時候調用。

      __callStatic()調用一個不存在的靜態方法是調用。

      __toString() 把對象轉換成字符串的時候會調用。比如 echo。

      __invoke() 當嘗試把對象當方法調用時調用。

      __set_state() 當使用var_export()函數時候調用。接受一個數組參數。

      __clone() 當使用clone復制一個對象時候調用。

      1.6 一些編譯php時的configure 參數

      –prefix=/usr/local/php php安裝目錄

      –with-config-file-path=/usr/local/php/etc 指定php.ini位置

      –with-mysql=/usr/local/mysql mysql安裝目錄,對mysql的支持

      –with-mysqli=/usr/local/mysql/bin/mysql_config mysqli文件目錄,優化支持

      –enable-safe-mode 打開安全模式

      –enable-ftp 打開ftp的支持

      –enable-zip 打開對zip的支持

      –with-bz2 打開對bz2文件的支持

      –with-jpeg-dir 打開對jpeg圖片的支持

      –with-png-dir 打開對png圖片的支持

      –with-freetype-dir 打開對freetype字體庫的支持

      –without-iconv關閉iconv函數,種字符集間的轉換

      –with-libxml-dir 打開libxml2庫的支持

      –with-xmlrpc 打開xml-rpc的c語言

      –with-zlib-dir 打開zlib庫的支持

      –with-gd 打開gd庫的支持

      更多可以使用 ./configure help 查看

      1.7 向php傳入參數的三種方法。

      方法一 使用$argc $argv

      方法二 使用getopt函數()

      方法三 提示用戶輸入,然后獲取輸入的參數。有點像C語言

      1.8 (mysql)請寫出數據類型(int char varchar datetime text)的意思; 請問varchar和char有什么區別;

      int : 數值類型

      char : 固定長度字符串類型

      varchar : 可變長度字符串類型

      datetime : 時期時間類型

      text : 文本類型

      varchar和char有什么區別:

      a. char 長度是固定的,不管你存儲的數據是多少他都會都固定的長度。

      而varchar則處可變長度但他要在總長度上加1字符,這個用來存儲位置。

      b. char 固定長度,所以在處理速度上要比varchar快速很多,但是浪費存儲空間,

      所以對存儲不大,但在速度上有要求的可以使用char類型,反之可以用varchar類型來實例。

      1.9 error_reporting 等調試函數使用

      error_reporting() 函數能夠在運行時設置php.ini中 error_reporting 指令。

      所以可以再程序中隨時調節顯示的錯誤級別。

      使用此函數時 display_errors必須是打開狀態。

      1.10 您是否用過版本控制軟件? 如果有您用的版本控制軟件的名字是?

      1.11 posix和perl標準的正則表達式區別;

      1.12 Safe_mode 打開后哪些地方受限.

      啟動safe_mode,會對許多PHP函數進行限制,特別是和系統相關的文件打開、命令執行等函數.

      所有操作文件的函數將只能操作與腳本UID相同的文件.

      1.13 寫代碼來解決多進程/線程同時讀寫一個文件的問題。

      PHP是不支持多線程的,可以使用php的flock加鎖函數實現。

      $fp = fopen("/tmp/lock.txt", "w+");

      if (flock($fp, LOCK_EX)) { // 進行排它型鎖定

      fwrite($fp, "Write something here\n");

      flock($fp, LOCK_UN); // 釋放鎖定

      } else {

      echo "Couldn't lock the file !";

      }

      fclose($fp);

      1.14 寫一段上傳文件的代碼。

      upload.html

      Send this file:

      upload.php

      $uploads_dir = '/uploads';

      foreach ($_FILES["error"] as $key => $error) {

      if ($error == UPLOAD_ERR_OK) {

      $tmp_name = $_FILES["tmp_name"][$key];

      $name = $_FILES["name"][$key];

      move_uploaded_file($tmp_name, "$uploads_dir/$name");

      }

      }

      1.15 Mysql 的存儲引擎,myisam和innodb的區別。

      a. MyISAM類型不支持事務處理等高級處理,而InnoDB類型支持.

      b. MyISAM類型的表強調的是性能,其執行數度比InnoDB類型更快.

      c. InnoDB不支持FULLTEXT類型的索引.

      d. InnoDB 中不保存表的具體行數,也就是說,

      執行select count(*) from table時,InnoDB要掃描一遍整個表來計算有多少行,

      但是MyISAM只要簡單的讀出保存好的行數即可.

      e. 對于AUTO_INCREMENT類型的字段,InnoDB中必須包含只有該字段的索引,但是在MyISAM表中,可以和其他字段一起建立聯合索引。

      f. DELETE FROM table時,InnoDB不會重新建立表,而是一行一行的刪除。

      g. LOAD TABLE FROM MASTER操作對InnoDB是不起作用的,解決方法是首先把InnoDB表改成MyISAM表,導入數據后再改成InnoDB表,

      但是對于使用的額外的InnoDB特性(例如外鍵)的表不適用.

      h. MyISAM支持表鎖,InnoDB支持行鎖。

    【PHP程序員基本知識點】相關文章:

    PHP程序員容易忽略的知識點01-10

    PHP程序員要掌握的知識點05-30

    PHP編程入門的基本語法知識點總結06-22

    PHP程序員基本要求和必備技能06-28

    php程序員05-02

    PHP 基本簡介05-12

    PHP的基本作用02-22

    PHP基本語法06-30

    PHP程序員掌握基本概念有哪些技術06-07

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人