Category Archives: PHP 新手筆記

PHP Convert Array on String to a string – 如何將一個字串的陣列 轉成一個字串

今天的活動上..需要整理一些從API 取得資料 其中一個FieldArray of String 轉換成 String
以方便顯示

解決方法十分簡單
我們可以使用PHPimplode 來解決這個問題
[“Apple”, “Banana”, “Orange”];

E.G.

// 我們先建立一個String Array 來作試驗
$array = array('Apple', 'Banana', 'Orange');
// 我們可以用 PHP 的 implode功能.. 
// 第一個變數是想用什麼分隔這些析開了的時串
// 第二個變數是你的 Array/陣列 
echo implode(",", $array);

PHP Convert String Array to String Code
結果 會出現 Apple,Banana,Orange
PHP Convert String Array to String via implode
Happy Coding

PHP-cs-fixer – PHP Coding Standards Fixer

自從用了 Visual StudioStyleCop / Resharper
之後便開始愛上Coding Standard / Best Practice..
因為這些Coding Standard 的工具可以幫助我們寫一些更有效率的程式碼
還有..如果所有Developer 都跟隨著這些Coding Standard..
便其他人便可以很容易便明白程式是怎樣 layout的

最近開始寫多了PHP 相關的網站..
如果有一些免費的工具..像StyleCop
朋友便介紹..我可以使用PHP-CS-FIXER 來做差不多的東西..
你可以使用PHP Command 來執行PHP-CS-FIXER

首先我們先要以下網址去下載php-cs-fixer.phar
https://github.com/FriendsOfPHP/PHP-CS-Fixer

Download PHP-CS-FIXER
之後把他儲存在 一個容易找到的位置..因為我們要用這個路徑來執行php-cs-fixer
我便把他儲存在”d:\xampp\php\extras\php-cs-fixer.phar
PHP-CS-Fixer.phar Location

所有東西都準備好之後我們便可以嘗試執行 php-cs-fixer
執行方法 是這樣的

php [Full file path for php-cs-fixer.phar e.g. d:\xampp\php\extras\php-cs-fixer.phar] fix [PHP code folder path e.g. d:\xampp\htdocs\sharechiwai\applicat
ion\controllers] –fixers=[settings e.g. -indentation]

php php-cs-fixer.phar fix D:\xampp\htdocs\BlogBackup\wp-content --fixers=-indentation

結果像這樣
PHP-CS-Fixer Result
完成後會總結那些檔案更新了..和那些檔案有問題..
PHP-CS-Fixer Summary

更多怎樣使用 php-cs-fixer 指令和變數的 詳情可以參考下以網址
http://cs.sensiolabs.org/
PHP-CS-Fixer Variable / Parameters

Hope you find it useful

PHP Warning: Cannot open ‘\xampp\php\extras\browscap.ini’ for reading in

之前介紹過怎樣在Windows 執行 PHP Command E.G. 設定環境變數
和怎樣解決 PHP Unable to load dynamic library 的問題

到最後我們還有另一個問題要解決..
就是
PHP Warning: Cannot open ‘\xampp\php\extras\browscap.ini’ for reading in Unknown on line 0
PHP Warning:  Cannot open '\xampp\php\extras\browscap.ini' for reading in Unknown on line 0

問題出現的原因和之前的一樣..是一個路徑計定的問題

解決方法十分簡單
我們可以開啟 php.ini 檔案.. 之後
browscap 的 路徑

browcap = "\xampp\php\extras\browscap.ini"

browscap path on php.ini

轉為

browcap = "d:\xampp\php\extras\browscap.ini"

Cannot load browscap xampp php.ini fixed

之後再嘗試一下.. browscap 的問題應該解決了

PHP Command Successfully set up on Windows machine

Hope you find it useful

PHP Unable to load dynamic library ‘\xampp\php\ext\php_bz2.dll’

當我嘗試在Command Prompt上執行 php的指令時..出現以下的錯誤
PHP Warning: PHP Startup: Unable to load dynamic library ‘\xampp\php\ext\php_bz2.dll
PHP Startup: Unable to load dynamic library php_bz2.dll

PHP Warning: PHP Startup: Unable to load dynamic library ‘\xampp\php\ext\php_curl.dll
PHP Startup: Unable to load dynamic library php_curl.dll

還有很多其他的Dynamic Library
PHP unable to load dynamic library

PHP Warning:  PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_bz2.dll

Warning: PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_bz2.dll

PHP Warning:  PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_curl.dll

PHP Warning:  PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_mbstring.dll

PHP Warning:  PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_exif.dll

PHP Warning:  PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_gd2.dll

PHP Warning:  PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_gettext.dll

PHP Warning:  PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_mysql.dll

PHP Warning:  PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_mysqli.dll

PHP Warning:  PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_openssl.dll

PHP Warning:  PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_pdo_mysql.dll

PHP Warning:  PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_pdo_sqlite.dll

PHP Warning:  PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_soap.dll

PHP Warning:  PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_sockets.dll

PHP Warning:  PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_sqlite3.dll

PHP Warning:  PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_xmlrpc.dll

PHP Warning:  PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_xsl.dll

PHP Warning:  Cannot open '\xampp\php\extras\browscap.ini' for reading in Unknown on line 0

之後去查看了 php/ext 資料來..
[由于我是使用 xampp 的關係..我的xampp 資料夾是儲存在d:\
所以我的 xampp path 是這樣的 D:\xampp\php\ext\]

發現上面說明’Unable to load‘ 的 Dynamic Library 都可以在這裡找到
PHP Ext Folder in XAMPP

所以應該不是Library的問題
而是php.ini 內的一些設定問題

做了一會research 之後發現

解決方法十分簡單
只要將預設的 extension_dir 設定變成我們的 absolute path便可以
E.G. D:\xampp\php\ext\

extension_dir = "\xampp\php\ext"

php.ini extension_dir
轉成

extension_dir = "d:\xampp\php\ext"

php.ini extension_dir with absolute path

之後問題便可以解決
PHP command works

Hope you find it useful

‘php’ is not recognized as an internal or external command – How to run PHP Command Line on Windows – 怎樣在Windows 上執行php 指令

最近用多了PHPLibrary..
很多時候都需要以PHP Command 來執行的
當我在Command Prompt 上輸入 php之後執行時 出現了以下錯誤
“‘php’ is not recognized as an internal or external command, operable program or batch file.”
PHP is not recognized as an internal or external command, operable program or batch file

Command Prompt 上執行 PHP 指令其實很容易的
Windows 上我們只需要把 php.exe 的資料夾 註冊在 Windows 的 Environment Variable /環境變數 便可以

首先要找到我們的PHP.exe 儲存在那裡
XAMPP PHP Folder
由於我是使用xampp的所以我的 php.exe 會存在
[xampp 的儲存路徑]\php\

Advanced System Settings/進階系統設定” -> “Advanced tab/進階 分頁” ->”Environment Variables / 環境變數” 按一下
在之前的網誌有介紹如何修改”Environment Variables / 環境變數” 有興趣的朋友可以到以下網誌參考
How to install Ant on Windows – 如何在Windows 上安裝Ant

Environment Variable
儲存之後按 “OK/確定
之後再登出再登入Windows 便可

Execute PHP on Windows Command Prompt
我的PHP config 檔案出現了小小問題..之後的網誌會介紹怎樣解決這些1

Hope you find it useful