PHP中有一個很常用也很實用的函數,就是getfilesize(),它可以獲取指定文件的大小。在文件處理中,我們常常需要知道文件的大小來做一些判斷或操作,這時候getfilesize()就可以派上用場了。
假如我們有一個1MB大小的圖片,我們可以使用如下代碼獲取圖片的大小:
$filesize = filesize('example.jpg'); echo "文件大小為:" . $filesize . " bytes";
上面的代碼中,我們使用了filesize()函數來獲取example.jpg文件的大小,然后將該大小輸出。
當然,有時候我們需要將文件大小轉換為更易于理解的單位,如KB、MB等。這時候可以使用一個小技巧:
function formatSizeUnits($bytes){ if($bytes >= 1073741824){ $bytes = number_format($bytes / 1073741824, 2) . ' GB'; } elseif($bytes >= 1048576){ $bytes = number_format($bytes / 1048576, 2) . ' MB'; } elseif($bytes >= 1024){ $bytes = number_format($bytes / 1024, 2) . ' KB'; } elseif($bytes >1){ $bytes = $bytes . ' bytes'; } elseif($bytes == 1){ $bytes = $bytes . ' byte'; } else{ $bytes = '0 bytes'; } return $bytes; } $filesize = filesize('example.jpg'); echo "文件大小為:" . formatSizeUnits($filesize);
上面的代碼中,我們使用了一個自定義的函數formatSizeUnits(),該函數接受一個文件大小的參數,并根據大小不同返回不同的單位。
需要注意的是,如果文件不存在或者無法讀取,filesize()函數會返回false。因此,在使用該函數時應該先進行判斷,避免出現意外的情況:
$file = 'example.jpg'; if(file_exists($file) && is_readable($file)){ $filesize = filesize($file); echo "文件大小為:" . formatSizeUnits($filesize); }else{ echo "文件不存在或無法讀取"; }
上面的代碼中,我們使用了file_exists()和is_readable()函數先判斷文件是否存在且可讀,只有滿足條件時才進行獲取文件大小的操作。
綜上所述,getfilesize()函數是一個非常方便實用的文件處理函數,能夠為我們的開發帶來很大的便利。