Возможный дубликат:
PHP: удаленный размер файла без загрузки файла
Я хочу найти размер файла с PHP, когда пользователь вводит ссылку на файл, который он загрузил на другой сайт. Но как?
Я предполагаю, что вы хотите размер удаленного файла. Следующий код PHP должен сделать трюк:
<?php // URL to file (link) $file = 'http://example.com/file.zip'; $ch = curl_init($file); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $data = curl_exec($ch); curl_close($ch); if (preg_match('/Content-Length: (\d+)/', $data, $matches)) { // Contains file size in bytes $contentLength = (int)$matches[1]; } ?>
Сначала вам нужно получить URL-адрес файла, который по отношению к MediaFire и другим сайтам обмена файлами потребует дополнительного кода для получения после удовлетворения периода ожидания бесплатного пользователя.
strlen(file_get_contents($url_file));
Функция strlen
является бинарной безопасностью, поэтому вам просто нужно получить длину содержимого файла.