2012-06-18 13 views
5

Hay un archivo almacenado en el servidor, que por ejemplo tiene una dimensión de 400 X 600 píxeles. Pero en diferentes partes de los sitios web, necesitamos la misma imagen de diferente dimensión. Para la miniatura, normalmente necesitamos 50 X 50 píxeles y si elegimos descargar la misma imagen con la dimensión original, tomaría más tiempo y la carga de la página se ralentizaría. Si esa imagen cambia de tamaño, su tamaño bajaría mucho más (como, de 500 KB a 50 KB). Entonces, lo que quiero es que, antes de que el navegador descargue la imagen, el servidor cambie el tamaño de la imagen según las dimensiones requeridas en el script PHP.PHP - Cambiar el tamaño de la imagen en el servidor antes de que el navegador lo descargue

+4

La mejor forma de hacer esto es crear la miniatura de 50 * 50, mientras que la posibilidad de subir imagen original en el servidor . para que, según el requisito, puedas extraer la imagen relevante. – neeraj

+0

podemos tener miles de usuarios. almacenar diferentes versiones de imágenes de cada uno de ellos requeriría mucho espacio de almacenamiento ... –

+3

hacerlo en vivo y no almacenar significa que lo hará miles de veces y en algún momento decidirá almacenarlo de todos modos. –

Respuesta

1

Tiene que poner el código en thumbnail code en un nuevo archivo, digamos image.php y luego usar este script como el src de la etiqueta img con los parámetros de nombre de archivo de imagen, ancho y alto.

<img src="http://path-to-directory/image.php?img=abc.jpg&width=50&height=50" /> 

Usted necesita cambiar el "DSC01088.jpg" a echo $ _GET [ 'img']; después de la validación adecuada.

1

Necesitará la biblioteca GD de PHP, luego eche un vistazo a this y this y luego vincule un archivo php que cambia el tamaño en lugar de la imagen.

También tenga en cuenta la sugerencia de neeraj, por lo que puede cambiar el tamaño mientras se carga para obtener un mejor rendimiento.

En caso de que su host carece de PHP GD, lo que es muy poco probable, debe echar un vistazo a this o this.

0

Sí, por supuesto!

Google para PHP código de tamaño de imagen samples

continuación, crear un script descarga y lo llaman con los parámetros, así:

http:///www.mysite.com/image.php?image=path/to/my/image.png&width=50&height=50&crop=1 

El script se carga la imagen, cambiar su tamaño a la anchura proporcionada y altura y opcionalmente recortarlo, luego repetir con encabezados apropiados para descargar ...

Hay muchas formas de hacerlo ... A veces es mejor usar Google antes de preguntar aquí en SE ...

+0

No es que no haya buscado en google. Solo quería llegar a la respuesta específica en menos tiempo, como si hubiera llegado a tu respuesta. Gracias de cualquier manera.. –

0

Uso GD Biblioteca para crear imágenes en miniatura

en primer lugar, obtener la lista de todas las imágenes en la carpeta

function thumb() 
{ 
    $img_dir_path='images/'; 
    $thumb_dir_path='images/thumbs/'; 

    $img_array=GLOB($img_dit_path.'*.{jpg,jpeg}',GLOB_BRACE); 

    foreach($img_array as $img) 
    { 
     list($path,$file)=explode('/', $img); 
     list($fileName, $extension)=explode('.',$file); 

     $thumb-file=$thumb_di_path . $fileName. '-thumb.jpg'; 

     if(file_exists($thumb-file)) 
     { 
       //do nothing 
     } 
     else 
     { 
      //create file using GD and set width and height proportionally 
      // Example $width=$orig_width * 0.1; $height =$orig_height * 0.1 
     } 
    } 
} 
Cuestiones relacionadas