Я был googleing, но все, что я получаю, это getimagesize и размер файла.
getimagesize dosent получает размер KB только ширины и высоты, что не то, что им нужно.
filesize дайте мне сообщение Warning: filesize () [function.filesize]: stat failed for
файл, о котором идет речь, составляет 51kb .jpg файл
$imgsize=filesize("http://localhost/projects/site/schwe/user/1/1.jpg");
не работает,
как это сделать?
Вы не можете получить размер файлов удаленных элементов, либо укажите относительный путь в своей системе, либо выполните file_get_contents()
чтобы получить содержимое в первую очередь. Таким образом, вместо http: //, сделайте filesize('/path/to/local/system')
. Убедитесь, что его читаемый php-процесс
Вы не можете искать размер файла удаленного файла, подобного этому. Он предназначен для просмотра файлов локальных файлов.
Например…
$imgsize = filesize( '/home/projects/site/1.jpg' );
Функция filesize()
– это функция для использования. Это может быть неудачно, потому что
Если вы пытаетесь запустить filesize()
в локальном файле, укажите путь к файловой системе, а не какой-либо веб-URL.
Или вы также можете сделать что-то вроде:
$header = get_headers($url); foreach ($header as $head) { if (preg_match('/Content-Length: /', $head)) { $size = substr($head, 15); } }
filesize
берет имя файла как аргумент, а не URL, и возвращает размер файла в байтах. Вы можете разделить возвращаемое значение на 1024
чтобы получить размер в КБ.
У меня была та же проблема, которую я решил так. Я не знаю, насколько это оптимально, но это работает для меня:
getimagesize("http://localhost/projects/site/schwe/user/1/1.jpg"); $file_size = $file[0]*$file[1]*$file["bits"];