premetto che nn ho letto tutta la discussione quindi potrebbe essermi scappato.
ho un problemino.
quando invio una foto mi vengono caricate in tmp ma poi nn vengono copiate nelle altre due cartelle.
quindi diciamo che funziona per metà.
alla fine del caricamento mi compare solo una pagina bianca.
Codice PHP:
<?php //upload.php
if (!isset($_POST['submit_upload'])) {
header("Location: index.php");
} else {
include_once 'config.php';
//faccio l'upload dell'img
include_once './include/upload.class.php';
if (!isset($_FILES)) {
$_FILES = $HTTP_POST_FILES;
}
if (!isset($_SERVER)) {
$_FILES = $HTTP_POST_VARS;
}
$up = new FileUpload(TMP_DIR);
$up->RenameFile($_POST['new_name']);
$up->Upload($_FILES['file']);
//adesso ridimensiono l'img a 400 x 400
include_once './include/image.class.php';
$img = new Image(TMP_DIR . '/' . $up->filename);
//creo l'immagine sorgente
$result = $img->CreateSourceImage();
//se il tipo di immagine è supportato
//salvo 2 file:
//uno con l'img grande e uno con l'img piccola
//nelle rispettive directory
if ($result) {
//salvo l'immagine con altezza 400 lasciandola proporzionata
$img->SaveProportionateImage(IMAGE_DIR . '/' . $up->filename, IMAGE_QUALITY, IMAGE_HEIGHT);
//salvo l'immagine con altezza 75 lasciandola proporzionata
$img->SaveProportionateImage(THUMB_DIR . '/' . $up->filename, THUMB_QUALITY, THUMB_HEIGHT);
//libero la memoria cancellando l'immagine sorgente
$img->Free();
}
//se il tipo di img non è supportata
//o se il file uploadato nn è un immagine
else {
echo 'Immagine non valida
';
}
//In ogni caso cancello il file uploadato nella cartella ./tmp
$up->DeleteFile();
echo '[url="view.php"]Guarde le immagini[/url]';
}
?>
Codice PHP:
<?php //upload.class.php
class FileUpload {
var $up_dir; //la directory temporanea in cui verrà uploadata l'img
var $filename; //il nome del file
var $new_filename; //il nuovo nome del file se vogliamo rinominarlo
function FileUpload($up_dir) {
$this->up_dir = $up_dir;
}
function RenameFile($new_filename) {
$this->new_filename = $new_filename;
}
function Upload($files) {
if (!file_exists($this->up_dir)) {
die('La directory non esiste!');
}
$this->filename = ($this->new_filename) ? $this->new_filename : $files['name'];
if (trim($files["name"]) == "") {
die("Non hai indicato il file da uploadare!");
}
if (is_uploaded_file($files["tmp_name"])) {
move_uploaded_file($files["tmp_name"], $this->up_dir . "/" . $this->filename) or die("Impossibile spostare il file;controlla l'esistenza o i permessi della directory!");
} else {
die("Problemi nell'upload del file " . $files["name"]);
}
}
function DeleteFile() {
unlink($this->up_dir . '/' . $this->filename);
}
}
?>
Codice PHP:
<?php //config.php
define('TMP_DIR', './tmp');
define('IMAGE_DIR', './img_big');
define('THUMB_DIR', './img_small');
define('IMAGE_QUALITY', 80);
define('THUMB_QUALITY', 70);
define('IMAGE_HEIGHT', 400);
define('THUMB_HEIGHT', 75);
?>