Dapatkan ukuran file di php

Ini adalah panduan tentang cara mendapatkan ukuran file menggunakan PHP. Dalam tutorial ini, kita akan mendapatkan ukuran file dalam byte menggunakan fungsi filesize PHP sebelum mengubah byte tersebut menjadi KB, MB, dan GB, yang jauh lebih ramah-manusia.

Fungsi ukuran file PHP

Fungsi filesize PHP mengambil satu parameter. Parameter string bernama $filename, yang harus berisi path ke file

Lihatlah contoh berikut

//The path to our file.
$file = 'photograph.jpg';

//Get the file size in bytes using PHP's filesize function.
$fileSizeBytes = filesize($file);

//In my case, the file was 269,708 bytes in size.
var_dump($fileSizeBytes);

Cuplikan kode di atas mengasumsikan bahwa file “photograph. jpg” terletak di direktori yang sama dengan skrip PHP kita

Jika file kami berada di direktori lain yang disebut gambar, kami dapat menggunakan jalur relatif berikut

//A relative path.
$file = '../images/photograph.jpg';

//Get the file size in bytes.
$fileSizeBytes = filesize($file);
_

Perhatikan bahwa fungsi ukuran file juga akan menerima jalur absolut ke file tersebut

//Using an absolute path.
$file = 'C:\wamp\www\photograph.jpg';

//Get the file size in bytes.
$fileSizeBytes = filesize($file);

Jika fungsi filesize diberikan jalur file yang salah, itu akan memunculkan peringatan berikut

"Peringatan. ukuran file(). stat gagal untuk /path/to/photograph. jpg”

Fungsi filesize PHP menggunakan perintah stat yang mendasari sistem untuk mendapatkan ukuran file yang dimaksud

Mendapatkan ukuran file dalam KB

Jika Anda terutama berurusan dengan gambar atau file kecil lainnya, Anda mungkin ingin mengonversi byte menjadi KB (kilobyte)

Contoh

//Relative path to our file.
$file = 'photograph.jpg';

//Get the file size in bytes.
$fileSizeBytes = filesize($file);

//Convert the bytes into KB.
$fileSizeKB = round($fileSizeBytes / 1024);

//269,708 bytes divided by 1024 results in 263 KB
var_dump($fileSizeKB);

Pada potongan kode di atas, kita mendapatkan ukuran file dalam byte lalu membagi hasilnya dengan 1024. Ini karena ada sekitar 1024 byte di setiap kilobyte

Mendapatkan ukuran file dalam MB

MB (megabyte) adalah metrik yang berguna jika Anda berurusan dengan file MP3, File Zip, PDF, atau file lain yang relatif besar.

Contoh mendapatkan ukuran file dalam MB

//Path to our file.
$file = 'photograph.jpg';

//Get the file size in bytes.
$fileSizeBytes = filesize($file);

//Convert the bytes into MB.
$fileSizeMB = ($fileSizeBytes / 1024 / 1024);

//269,708 bytes is 0.2572135925293 MB
var_dump($fileSizeMB);

//Format it so that only 2 decimal points are displayed.
$fileSizeMB = number_format($fileSizeMB, 2);

//It now becomes 0.26 MB.
var_dump($fileSizeMB);
_

Dalam PHP di atas, kita

  1. Dapatkan ukuran file dalam byte menggunakan fungsi filesize PHP
  2. Mengubah byte menjadi MB dengan membagi byte dengan 1024 dua kali
  3. Karena hasilnya mengandung jauh dua tempat desimal, kami menggunakan fungsi number_format PHP untuk membatasi jumlah tempat desimal menjadi 2

Dalam kasus saya, “foto. jpg” berukuran 269.708 byte, yang menjadi 0. 26MB

Menggunakan PHP untuk mendapatkan ukuran file dalam GB

Jika Anda berurusan dengan file besar seperti video, Anda mungkin ingin menggunakan GB (gigabytes)

//The path to our file.
$file = 'large-file.mp4';

//Get the file size in bytes.
$fileSizeBytes = filesize($file);

//Convert the bytes into GB.
$fileSizeGB = ($fileSizeBytes / 1024 / 1024 / 1024);

var_dump($fileSizeGB);

Pada contoh kode di atas, kita mengubah byte menjadi GB dengan membagi hasil filesize dengan 1024 sebanyak tiga kali

filesize tidak akan berfungsi dengan file jarak jauh

Fungsi ukuran file tidak akan berfungsi dengan file jarak jauh. Jika Anda mencoba untuk mendapatkan ukuran file jarak jauh menggunakan fungsi filesize, itu akan mengeluarkan peringatan berikut

Peringatan. ukuran file(). stat gagal untuk http. //contoh. com/file. mp4

Ini karena perintah stat yang mendasarinya tidak mendukung file jarak jauh. Lihat. Dapatkan ukuran file jarak jauh menggunakan PHP

Ini dilakukan dalam byte secara default, tetapi dengan sedikit mengutak-atik kita dapat dengan mudah mengubahnya menjadi kilobyte atau megabyte

Pertama mari kita lihat cara kerjanya dalam byte

$file = '/path/to/your/file';
$filesize = filesize($file);

echo "The size of your file is $filesize bytes.";
_

Mengubah byte menjadi kilobyte berfungsi dengan membagi nilai dengan 1024. PHP sangat akurat dan akan memberi Anda 12 angka desimal – mungkin sedikit berlebihan. Untuk menghindari hal ini, kita dapat menggunakan fungsi round() dan menentukan berapa digit akurasi yang ingin ditampilkan

Cepat atau lambat dalam aplikasi Anda, Anda akan dihadapkan pada tugas untuk mengetahui ukuran file. Ada banyak contoh mengapa kita perlu mengetahui ukuran file, dan salah satu contohnya adalah ketika Anda atau pengguna mulai mengupload gambar atau beberapa file ke server Anda, dan sebelum Anda mulai mengupload file ini, Anda dapat menyertakan ketentuan

Di PHP, ada dua opsi untuk melihat ukuran file, dan kita akan melihatnya hari ini.  

 

Pada varian pertama, kita akan menggunakan fungsi filesize. Fungsi filesize hanya membutuhkan satu parameter yang diperlukan, nama file. Fungsi mengembalikan ukuran file dalam byte. Jika terjadi kesalahan, ini menampilkan FALSE dan menghasilkan kesalahan tingkat E_WARNING

php> filesize('it-inzhener.png');_

Dapatkan ukuran file di php

Dalam contoh ini, kita mendapatkan ukuran it-inzhener. png, dan hasilnya adalah 105478 byte

Mendapatkan ukuran file dalam byte sangat merepotkan, oleh karena itu kita dapat membuat fungsi yang akan mengonversi byte ke nilai lain untuk kita

function getFilesize($filesize)
{
    if ($filesize > 1024) {
        $filesize = ($filesize / 1024);
        if ($filesize > 1024) {
            $filesize = ($filesize / 1024);
            if ($filesize > 1024) {
                $filesize = ($filesize / 1024);
                $filesize = round($filesize, 1);
                return $filesize . " GB";
            } else {
                $filesize = round($filesize, 1);
                return $filesize . " MB";
            }
        } else {
            $filesize = round($filesize, 1);
            return $filesize . " KB";
        }
    } else {
        $filesize = round($filesize, 1);
        return $filesize . " bytes";
    }
}

Fungsi mengambil ukuran dalam byte, dan menampilkan ukuran dalam nilai lain. Fungsi mengonversi byte ke nilai yang diinginkan, berdasarkan ukuran file itu sendiri

Dapatkan ukuran file di php


 

Opsi selanjutnya untuk mendapatkan ukuran file adalah dengan menggunakan kelas php khusus bernama SplFileInfo. Pertama, kita perlu membuat objek kelas ini dan meneruskan file itu sendiri ke konstruktornya, lalu kita perlu mengeksekusi metode kelas ini yang disebut getSize. Metode getSize menampilkan ukuran file, juga dalam byte, dan jika terjadi kesalahan, metode ini akan menampilkan FALSE

Berapa ukuran file di PHP?

Untuk menampilkan nilai dalam megabita, kita cukup bagi dengan 1024 dua kali . $file = '/jalur/ke/file/anda'; . "; http. // www. php. net/manual/en/fungsi. ukuran file. php.

Bagaimana cara mendapatkan ukuran folder di PHP?

$totalUkuran = intval(fgets($io, 80)); . strtok(fgets($io, 80), " ");

Bagaimana cara mendapatkan ukuran file?

Klik kanan file dan klik Properti . Gambar di bawah menunjukkan bahwa Anda dapat menentukan ukuran file atau file yang telah Anda sorot dari jendela properti file. Dalam contoh ini, file chrome. file jpg adalah 18. 5 KB (19.032 byte), dan ukuran disk adalah 20. 0 KB (20.480 byte).

Bagaimana cara mendapatkan tipe file dalam PHP?

Fungsi filetype() mengembalikan tipe file dari sebuah file.