Визначення розміру вилученого файлу, php

При визначенні розміру вилученого файлу велике значення має, то, який потенційний обсяг має файл.

Можна виділити наступні завдання визначення розміру вилученого файлу:

1. Визначення розміру невеликого віддаленого файлу (html, php і т.п.)
2. Визначення розміру великого віддаленого файлу (zip, rar, mp3 і т.п.)

Визначення розміру невеликого віддаленого файлу

Відкриваємо файл $ filename, Новомосковський з нього дані fread по 1024 байта, до тих пір, поки ці дані не дорівнюють нулю (null). Одночасно визначаємо довжину отриманих даних strlen і їх суму $ fsize.


Визначення розміру великого віддаленого файлу

Як ви вже здогадалися, метод, описаний вище не підходить для великих файлів, так як при цьому що б отримати розмір файлу його необхідно було б повністю прочитати, а це рівнозначно його скачування на локальний комп'ютер. Тому для віддалених файлів, що має великий розмір, використовується інший підхід, заснований на читанні мета тегів:

У даній ситуації Новомосковскются дані не файлу, а мета тегів, які повертаються при його відкритті. При цьому функція stream_get_meta_data повертає масив даних, в якому містяться відомості про файл, в тому числі значення розміру файлу:

Залишається лише знайти тег Content-Length (розмір файлу) і вважати дані з рядка.

рейтинг: +14 з 15 4,67

Матеріали по темі

Будь-адміністратор сайту хоче, що б відвідувачів на його сайті було більше, а трафік, який вони з'їдають, був невеликим.

У житті будь-якого веб програміста рано чи пізно настає такий момент, коли він замислюється не тільки про те, як написати скрипт, але і те, як його.

Остаточні релізи PHP 6 з'являться не скоро, але розробники повинні знати до чого готуватися.

Останнім часом ідея об'єктно-орієнтованого програмування (ООП), кардинально нова ідеологія написання програм, все більше займає уми.