低溫烘培 發表在 痞客邦 留言(9) 人氣(10,698)
glob()是PHP中一個超好用卻意外冷門的函式,趁著有這個機會,我把glob大概說明一下,並整理一些常用的使用方法。
/**
* 在使用之前,我們先大致了解一下glob有什麼特別的參數可以使用。
*
* GLOB_MARK - 若檔案為資料夾,在回傳檔案路徑的最後面加上斜線"\"
* GLOB_NOSORT - 保持檔案路徑在原資料夾的出現順序(不重新排序)。※筆者在Win環境看不出差異
* GLOB_NOCHECK - 若找不到匹配的檔案路徑,回傳匹配的條件字串
* GLOB_NOESCAPE - 不要將反斜線視為跳脫字元(※筆者在Win環境下看不出差異)
* GLOB_BRACE - 將 {a,b,c} 視為搜尋 'a', 'b', 或 'c'
* GLOB_ONLYDIR - 只列出資料夾路徑
* GLOB_ERR - 發生讀取錯誤時停止動作(像是無法讀取的資料夾),預設是「忽略錯誤」
**/
低溫烘培 發表在 痞客邦 留言(0) 人氣(12,771)
忘了什麼時候,我意外的連到國外有一篇文章在談論『PHP取得檔案的副檔名(PHP Get File Extension)』的文章。和我之前的前舊文章「取得檔案的副檔名」相比,那位筆者Cowburn顯然比我認真多了。
低溫烘培 發表在 痞客邦 留言(2) 人氣(25,960)
原來在PHP中,兩種同為陣列的變數,是可以進行相加的,其效果和array_merge()是一樣滴
$a = array('a','b','c');
$b = array('abc');
$c = $a+$b;
$d = array_merge($a+$b);
//$c與$d結果將會是一樣的,為Array ( [0] => abc [1] => b [2] => c )
低溫烘培 發表在 痞客邦 留言(2) 人氣(217)
最近要將陣列為表格顯示,所以為了方便表格的換行,所以事先將陣列分組可能會比較方便,所以就試著寫下面這個函式
/*
$input = array(1,2,3,4,5,6,7,8);
print_r(array_split($input,3));
輸出=>
array(
array(1,2,3)
array(4,5,6)
array(7,8)
);
*/
function array_split($array,$step){
$run_step = count($array)/$step;
for($i=0; $i<$run_step; $i++) {
$new_array[] = array_slice($array,$i*$step,$step);
}
return $new_array;
}
低溫烘培 發表在 痞客邦 留言(0) 人氣(291)
最近會使用到「取得檔案最後修改的時間」,從PHP手冊發現有兩個功能描述幾乎一模一樣的函式filectime()與filemtime,當然很自然的好奇倒底是差在哪邊,所以就用G大仙查了一下,很慶幸在「這篇討論文」有找到由coopster所提出的解答:),而且還特別說明了fileatime這個函式
低溫烘培 發表在 痞客邦 留言(0) 人氣(765)
我有趴別人blog的興趣,無意間看見這篇由Fred Wu所寫的「Choosing a PHP Framework Round 2: Yii vs Kohana vs CodeIgniter」,文章內容在描述同屬輕量級的framework的Yii vs Kohana vs CodeIgniter,嗯…Kohana 是從CodeIgniter分出來的還好,但Yii說真的我是今天才知道有這東西。
低溫烘培 發表在 痞客邦 留言(0) 人氣(806)
最近寫的程式會處理圖片上傳下載的動作,通常都會各別使用到pathinfo()、filesize()、getimagesize(),但是每次都要各別呼叫有點麻煩,所以就寫了一個helper來一次解決這個問題,這個function是針對Kohana寫的,如果你不是使用KHN的話,你可以複製程式碼後,自行修改符合你需要的部分
低溫烘培 發表在 痞客邦 留言(0) 人氣(174)
最近趴了PHP官方的array函式,發現有多了一個array_product(),他出現在5.1.0之後的版本,可以將陣列裡的值進行相乘的動作,換句話說之前的階乘函式,可以有另外一種寫法了。
//*************************************************
// 函式名稱:階乘函式
// 功能說明:5! = 5 * 4 * 3 * 2 * 1 = echelon(5)
//*************************************************
function factorial(n){
if(n == 1 || n == 0 ) {
return 1;
} else {
return n * factorial(n - 1);
}
}
低溫烘培 發表在 痞客邦 留言(0) 人氣(105)
最近使用到nl2br將文章轉存,突然發現好像沒有轉存的函式,用google來G一下,果然也有人遇到同樣的問題,從官方nl2br函式的回文中,就有一堆作者佛心來的=v=,提供了一些反轉函式。不好意思就偷偷給他選擇一個合適拿來用了(感謝),因為我目前開始使用Kohana,所以下列就直接將他寫成helper了。
低溫烘培 發表在 痞客邦 留言(2) 人氣(1,744)