Tag: PHP
PHP 對檔案的操作, 如複製、移動及刪除檔案都已經有內建函式, 只要對檔案及寫入目錄有寫入權限, 要實現很方便。 複製檔案 PHP 有內建函式 copy() 可以複製檔案, : 以上會將檔案 ./file1.txt 複製到 ../dir/ 目錄下 file123.txt. 而 PHP 的 copy() 成功複製後, 會回傳 TRUE, 失則則傳回 FALSE, 可以判斷是否成功複製: 移動檔案 移動或者重新命名檔案, …
PHP 提供很多關於日期及時間的函式, 在 MySQL 如果沒有使用 Unix timestamp 儲存時間, 而使用 MySQL 的 Date 儲存類型的話, 在轉換及計算日期方面會較麻煩。 要轉換 MySQL 的日期格式, 可以使用 PHP 內建的 strtotime() 函式, 將 MySQL 的日期格式轉換為 Unix timestamp, 之後再用 date() …
在 C 或 Perl 這些程式語語, 在使用變數前需要先進行宣告, 而 PHP 則不需要宣告變數, 可以直接使用變數。 PHP 不需要宣告變數仍可執行, 只要在某些主機會出現 Warning, 例如: 上面程式碼並未宣告變數 $test, 所以會出現錯誤 “Notice: Undefined variable: test”, 但由於這個只是 warning, 所以程式會繼續執行, 除了顯示錯 warning 外, 也會顯示 …
在 PHP 有一種很常見的 Warning 錯誤是 headers already sent, 出現時類似這樣: Warning: Cannot modify header information – headers already sent by (output started at /path/to/file.php:20) in /path/to/file on line 23 這是在使用 …
APC (Alternate PHP Cache) 是一套開源的 PHP 快取系統, 它可以將沒有改變 PHP Code 的情況下, 將已經編譯的結果緩存下來, 當下次需要使用時, 就可以節省重新編譯的時間及系統資源。 在 RHEL 及 CentOS 安裝 APC 十分簡單, 只要透過 YUM 便可以全部完成, 以下方法在 CentOS 6 及 CentOS …
相比起用套件管理員 (如 yum, apt-get) 安裝 PHP, 編譯 PHP 源碼較需要較多步驟, 最常見的問題出在套件相依性上。但由於編譯源碼安裝可以自訂各種設定, 所以還是很多情況需要編譯源碼安裝的。 以下會列出在編譯 PHP 時常見的報錯及解決方法。 報錯: 解決方法: # yum install bzip2-devel 報錯: 解決方法: # yum install curl-devel 報錯: 解決方法: # …
在 PHP 要判斷字串是否有中文,可以用 mb_strlen() 及 strlen() 兩個函式實現。strlen() 會回傳字串的長度,但如果是中文, 日文及韓文等文字,會回傳較長的結果。而 mb_strlen() 則可以加入編碼,例如 UTF-8 及 BIG5 等,讓 PHP 自動判斷字串的長度,只要比對 mb_strlen() 及 strlen() 回傳的字串長度,如果相同,即表示沒有中文字在字串內,如果不相同,那便表示有中、日、韓等亞洲文字存在,例如: 上面 mb_strlen() 設定了字串為 UTF-8 編碼,如果是 BIG5 編碼,則要改成 BIG5, …
ImageMagick 是一套開源的圖片編輯工具, 可以建立、編輯、轉換格式、建立縮圖等。在 PHP 或 Perl 使用 ImageMagick 編輯圖片十分好用, 而 PHP 的 Imagick 是透過 ImageMagick API 建立及編輯圖片的模組, 以下會示範在 RHEL 及 CentOS 安裝 ImageMagick, PHP 的 Imagick 模組以及 Perl 的 …
在 RHEL 及 CentOS 透過 YUM 或 RPM 安裝的套件, 其預設安裝目錄跟編譯安裝有所不同, 以下是 Apache, PHP 及 MySQL (MariaDB) 在 RHEL 及 CentOS 的預設安裝目錄及設定檔位置: Apache: 預設安裝目錄: /etc/httpd/ DocumentRoot: /var/www/html/ httpd.conf 路徑: /etc/httpd/conf/httpd.conf …
IonCube Loader 是一個 PHP 的模組, 可以載入已經編碼的 PHP 程式碼並正確執行。以下文章會介紹在 CentOS 下安裝 IonCube Loader. 1. 首先下載 IonCube Loader 模組到 DocumentRoot 目錄, 根據不同的系統下載合適的檔案: 64-Bits: # cd /var/www/html # wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz 32-Bits: # …