<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<?php
ini_set('memory_limit', '100M');//aggiungi questa riga
/*
ATTENZIONE:
1. verificare i kb dell'immagine originale (meglio sotto i 1000 kb) altrimenti è facile che php va hout memory
2. non verifica l'orientamento dell'immagine, quindi devi verificare tu che l'immagine sia diritta
3. non cambia nome all'immagine e quindi se in destinazione esistente, sovrascive, per non sovrascivere da mod la riga rename
4. funziona solo per formato jpg
*/
function riduci_carica($nome_file){
$cart_p="da_ridurre/";//cartella di partenza
$cart_d="ridotte/";//cartella di destinazione
list($w_orig, $h_orig) = getimagesize($cart_p.$nome_file);//leggo larghezza e altezza dell immagine originale
if($w_orig == 0 || $h_orig ==0){//se rileva 0 l'immagine non è trattabile
echo "immagnine non compatibile <br />";
}else{
$max_w = 640;//definisco le misure massime a cui voglio ridurre
$max_h = 480;
$ratio = @min($max_w/$w_orig,$max_h/$h_orig);//cerco il rapporto minimo
if($ratio < 1 ){
$w_rid = (int)($w_orig*$ratio); //calcolo le dimensioni a cui ridurre
$h_rid =(int)($h_orig*$ratio);
$tn = imagecreatetruecolor($w_rid, $h_rid);
$image = imagecreatefromjpeg($cart_p.$nome_file);
imagecopyresampled($tn, $image, 0, 0, 0, 0, $w_rid, $h_rid , $w_orig, $h_orig);
imagejpeg($tn, $cart_d.$nome_file, 90);
}
echo "trattato: $nome_file<br>";
@rename($cart_p.$nome_file, $cart_d.$nome_file);// sposta nella cartella di destinazione (attenzione sovrascrive se esiste)
//per svuotare la cartella di partenza in automatico dei file trattat (altrimenti commentare la riga)
@unlink($cart_p.$nome_file);
}
}//fine function riduci_ricarica
//**************************************
$imm_da_spost=array_merge(glob("da_ridurre/*.jpg"),glob("da_ridurre/*.JPG"));//legge i file da cartella di partenza
foreach($imm_da_spost as $immagine){
$immagine=basename($immagine);
riduci_carica($immagine);
}
echo "fatto";
?>
</head>
<body>
</body>
</html>