getimage from example ejemplo and php image image-size

from - php cómo obtener el tamaño de la imagen web en kb?



php get image width and height from url (7)

Aparte de hacer una solicitud HTTP completa, no hay una manera fácil:

$img = get_headers("http://static.adzerk.net/Advertisers/2564.jpg", 1); print $img["Content-Length"];

Sin embargo, es probable que pueda utilizar cURL para enviar una solicitud HEAD más clara .

php cómo obtener el tamaño de la imagen web en kb?

getimagesize solo obtiene el ancho y alto.

y el filesize causó waring .

$imgsize=filesize("http://static.adzerk.net/Advertisers/2564.jpg"); echo $imgsize;

Warning: filesize() [function.filesize]: stat failed for http://static.adzerk.net/Advertisers/2564.jpg

¿Hay alguna otra manera de obtener un tamaño de imagen web en kb?


Aquí hay un buen enlace con respecto al tamaño del archivo ()

No puede usar el tamaño de archivo () para recuperar información de archivos remotos. Primero debe ser descargado o determinado por otro método.

Usar Curl aquí es un buen método:

Tutorial


Eso suena como un problema de permisos porque el tamaño de archivo () debería funcionar bien.

Aquí hay un ejemplo:

php > echo filesize("./9832712.jpg"); 1433719

Asegúrese de que los permisos estén configurados correctamente en la imagen y que la ruta también sea correcta. Necesitará aplicar algunos cálculos matemáticos para convertir de bytes a KB, pero después de hacerlo, ¡debería estar en buena forma!



Puede obtener el tamaño del archivo utilizando la función get_headers (). Use el siguiente código:

$image = get_headers($url, 1); $bytes = $image["Content-Length"]; $mb = $bytes/(1024 * 1024); echo number_format($mb,2) . " MB";


Puedes usar también esta función

<?php $filesize=file_get_size($dir.''/''.$ff); $filesize=$filesize/1024;// to convert in KB echo $filesize; function file_get_size($file) { //open file $fh = fopen($file, "r"); //declare some variables $size = "0"; $char = ""; //set file pointer to 0; I''m a little bit paranoid, you can remove this fseek($fh, 0, SEEK_SET); //set multiplicator to zero $count = 0; while (true) { //jump 1 MB forward in file fseek($fh, 1048576, SEEK_CUR); //check if we actually left the file if (($char = fgetc($fh)) !== false) { //if not, go on $count ++; } else { //else jump back where we were before leaving and exit loop fseek($fh, -1048576, SEEK_CUR); break; } } //we could make $count jumps, so the file is at least $count * 1.000001 MB large //1048577 because we jump 1 MB and fgetc goes 1 B forward too $size = bcmul("1048577", $count); //now count the last few bytes; they''re always less than 1048576 so it''s quite fast $fine = 0; while(false !== ($char = fgetc($fh))) { $fine ++; } //and add them $size = bcadd($size, $fine); fclose($fh); return $size; } ?>


<?php $file_size = filesize($_SERVER[''DOCUMENT_ROOT'']."/Advertisers/2564.jpg"); // Get file size in bytes $file_size = $file_size / 1024; // Get file size in KB echo $file_size; // Echo file size ?>