最近寫的程式會處理圖片上傳下載的動作,通常都會各別使用到pathinfo()、filesize()、getimagesize(),但是每次都要各別呼叫有點麻煩,所以就寫了一個helper來一次解決這個問題,這個function是針對Kohana寫的,如果你不是使用KHN的話,你可以複製程式碼後,自行修改符合你需要的部分
/*
Array
(
[dirname] => .
[basename] => bee.jpg
[extension] => jpg
[filename] => bee
[filesize] => 883496
[width] => 1920
[height] => 1200
[0] => 1920
[1] => 1200
[2] => 2
[3] => width="1920" height="1200"
[bits] => 8
[channels] => 3
[mime] => image/jpeg
)
*/
class file extends file_Core {
/**
* Info
*
* Get the File detail Info
*
* @access public
* @param string
*/
public static function info($filename=NULL) {
$imgaeType = array('jpg','gif','png');
if(file_exists($filename)) {
if(is_file($filename)) {
//get basic info
$info = pathinfo($filename);
//add file size
$info['filesize'] = filesize($filename);
//add image info
if(in_array($info['extension'],$imgaeType)) {
$imageInfo = getimagesize($filename);
$info['width'] = $imageInfo[0];
$info['height'] = $imageInfo[1];
//return info
return array_merge($info,$imageInfo);
} else {
return $info;
}
} else {
die($filename.' is not file!!');
}
} else {
die($filename.' is not exists!!');
}
}
}
另外在檔案size的部分,之後可以配合Kohana的helper中的text::bytes()格式化適合閱讀的文字 / v \
文章標籤
全站熱搜
