dunque, ti spiego come faccio io facendo riferimento sempre alla pillola che ti ho linkato sopra.
io faccio l'upload tu e carico i miei file in una cartella del mio sito [che di solito chiamo upload-files, ma nulla ti vieta di chiamarla come vuoi]. Sul sito carico solo i file di dimensioi originali
poi mi creo una tabella in un database che ha ad esempio questa struttura:
codice:
CREATE TABLE `file_remoti` (
`id` int(10) unsigned NOT NULL auto_increment,
`url` varchar(255) NOT NULL default '',
`nome` varchar(100) NOT NULL default '',
`tipo` varchar(100) NOT NULL default '',
`size` bigint(20) NOT NULL default '0',
PRIMARY KEY (`id`)
)
dove mi salvo alcune informazioni sul file appena caricato
poi, come ti ho detto prima prendo il file ridimensiona che c'è nella pillola:
Codice PHP:
<?php
// file ridimensiona.php
//
// Marco Barcaro
// 15/12/2004
//
// questa funzione richiede le librerie grafiche GD
//
// Testato con Apache 1.3.29, PHP 4.3.10, GD 2.0.28 su winXP
// Testato con Apache 1.3.26, PHP 4.1.2, GD 2.0 (no supporto x GIF) su Debian
// Testato con Apache 1.3.33, PHP 4.3.9, GD 2.0 su Linux
// Testato con Apache 1.3.31, PHP 4.3.3, GD 2.0 su Linux
// PARAMETRI DI CONFIGURAZIONE
require_once("config.php");
define("LARGHEZZA",$larghezza);
define("ALTEZZA",$altezza);
define("PROPORZIONI",$proporzioni);
define("QUALITA",$qualità);
function ridimensiona($immagine) {
$header=array(1=>"gif",2=>"jpeg",3=>"png",4=>"jpg");
// RIDIMENSIONAMENTO DELLA FOTO
$dimensioni = getimagesize($immagine);
if ($dimensioni[2] == 1)
$img = imagecreatefromgif($immagine);
if (($dimensioni[2] == 2) || $dimensioni[2] == 4)
$img = imagecreatefromjpeg($immagine);
if ($dimensioni[2] == 3)
$img = imagecreatefrompng($immagine);
$altezza = (PROPORZIONI) ? ceil($dimensioni[1]/$dimensioni[0]*LARGHEZZA) : ALTEZZA;
$im = imagecreatetruecolor(LARGHEZZA, $altezza);
#--------------------------
$background = imagecolorallocate($img, 255, 255, 255);
imagecolortransparent($img, $background);
#--------------------------
imagecopyresampled($im,$img,0,0, 0,0, LARGHEZZA,$altezza, $dimensioni[0],$dimensioni[1]);
header("content-type: image/".$header[$dimensioni[2]]);
imagejpeg($im,"",QUALITA);
imagedestroy($im);
}
if(file_exists($immagine))
ridimensiona($immagine);
else
echo "$immagine NON ESISTE!";
?>
naturalmente devi prendere anche il config dove ti setti i valori che ti interessano.
poi per richiamare un immagine fai semplicemente così:
codice:
[img]ridimensiona.php?immagine=upload-files/<? print $nome_img; ?>[/img]