¿Cómo comprimir imágenes cargadas en el servidor? ¿Existe algún buen código fuente de página php?
Para WINDOWS, puede desarrollar otro software y colocarlo en el servidor para monitorear si se cargan nuevas imágenes en tiempo real, y luego puede comprimir el tamaño o la calidad de la imagen. Por supuesto, su software puede hacerlo. También completa la compresión de imágenes a través de tu programa PHP.
En el sistema LINUX, puede escribir un script residente para monitorear sus imágenes en tiempo real, de modo que si encuentra que el archivo de imagen excede el tamaño especificado, también puede realizar la compresión del tamaño de la imagen y tamaño Por supuesto, también puedes llamar a PHP para ejecutar.
El siguiente es un código PHP para comprimir imágenes:
// Escalar imagen
función mt($srcFile, $dstFile, $max_width=200, $ max_height=150, $imgQuality=90){
$ data=@getimagesize($srcFile);
if($data[0]lt;=$data[1] y $datos[1]gt;=$max_height){
$height=$max_height;
$ancho= intval($height*$data[0]/$data[ 1 ]);
}
if($data[0]gt;=$data[1] y $data[0]gt;=$max_width){
$ancho=$ancho_max;
$altura=intval($ancho*$datos[1]/$datos[0]); p> if($heightgt; $max_height){
$height=$max_height;
$ancho= intval($height*$data[0]/$data[1 ]
}
if($data[0]lt; $max_width y $data[1]lt; $max_height){
$width = $datos[0];
$altura=$datos[1];
}
cambiar($datos[2]){
caso 1:
$im=@imagecreatefromgif($srcFile);
ruptura
caso 2:
$im=@ imagecreatefromjpeg ($srcFile);
ruptura
caso 3:
$im=@imagecreatefrompng($srcFile ;
}
$srcW=@imagesx($im);
$srcH=@imagesy($im);
$ ni=@imagecreatetruecolor($ancho, $alto);
@imagecopyresampled ($ni, $im, 0, 0, 0, 0, $ancho, $alto, $srcW, $srcH); /p>
switch($data[2]){
case 'gif': @imagepng($ni, $dstFile, $imgQuality
case); 'jpeg': @imagejpeg($ni, $dstFile, $imgQuality);
case 'png': @imagepng($ni, $dstFile, $imgQuality);
Predeterminado: @imagejpeg($ni, $dstFile, $imgQuality break;
}
}
}