PHP получить размер изображения в КБ - PullRequest
7 голосов
/ 27 сентября 2010

Я гуглю, но все, что я получаю, это getimagesize и filesize.
getimagesize dosent получит размер KB только ширину и высоту, что не то, что я ищу.
Размер файла дает мне сообщение Предупреждение: размер файла () [function.filesize]: сбой статистики для
рассматриваемый файл 51kb .jpg file

$imgsize=filesize("http://localhost/projects/site/schwe/user/1/1.jpg");

не работает,

как мне это сделать?

Ответы [ 6 ]

7 голосов
/ 27 сентября 2010

Вы не можете получить размер файла удаленных элементов, либо указать относительный путь в вашей системе, либо сделать file_get_contents(), чтобы сначала получить содержимое , Таким образом, вместо http: // сделайте filesize('/path/to/local/system'). Убедитесь, что он читается с помощью php процесса

5 голосов
/ 27 сентября 2010

Вы не можете посмотреть размер файла удаленного файла, как этот.Он предназначен для просмотра размера файлов локальных файлов.

Например ...

$imgsize = filesize( '/home/projects/site/1.jpg' );
1 голос
/ 25 сентября 2013

Или вы также можете сделать что-то вроде:

$header = get_headers($url);
foreach ($header as $head) {
    if (preg_match('/Content-Length: /', $head)) {
        $size = substr($head, 15);                      
    }
}
1 голос
/ 27 сентября 2010

filesize() - используемая функция.Это может быть сбой, потому что

  1. Вы пытаетесь получить веб-адрес, и обертки URL могут быть не включены
  2. Этот URL недействителен.

Если вы пытаетесь запустить filesize() для локального файла, укажите путь к файловой системе, а не какой-либо веб-URL.

0 голосов
/ 03 октября 2012

У меня была такая же проблема, которую я решил вот так.Я не знаю, насколько это оптимально, но у меня работает:

getimagesize("http://localhost/projects/site/schwe/user/1/1.jpg");

$file_size = $file[0]*$file[1]*$file["bits"];
0 голосов
/ 27 сентября 2010

filesize принимает имя файла в качестве аргумента, а не URL, и возвращает размер файла в байтах. Вы можете разделить возвращаемое значение на 1024, чтобы получить размер в КБ.

...