19/09/2008 15:07
Ciao a tutti, ho creato cercando qua e la un form per inviare dei file, in particolare mi servirebbe solo per inviare delle normali immagini di fumetti creati dai miei utenti per un mio progetto (nuova sezione al mio sito).
Ok, il form funziona tutto ok, in pratica fa inserire descrizione del file e la parte di upload (sfoglia, per caricare i file).
Io vorrei che l'immagine inviata prenda il nome del file della descrizione, in questo modo se il file è già esistente sul mio spazio mi viene meglio a gestire il tutto facendo un controllo con questo codice:
Inoltre vorrei che se il file fosse già esistente che venisse automaticamente modificato il nome, magari aggiungendo un numero.
Altra cosa, vorrei che mi fosse inviata una e-mail appena viene allegato il file.
E per ultimo vorrei un controllo in modo che i file inviati siano solo ed esclusivamente immagine nelle estensioni più conosciute come: jpg, gif...
in modo che non vengano inviati virus o file che danneggerebbero il sito.
Il codice già creato del file che gestisci gli upload è il seguente:
Se vi servono altra info io sono qui.
Ok, il form funziona tutto ok, in pratica fa inserire descrizione del file e la parte di upload (sfoglia, per caricare i file).
Io vorrei che l'immagine inviata prenda il nome del file della descrizione, in questo modo se il file è già esistente sul mio spazio mi viene meglio a gestire il tutto facendo un controllo con questo codice:
Codice PHP:
$nuovo_nome=$percorso.$ultimo_id.".jpg";
//nuovo nome dell'immagine
$inviato=file_exists($file_temp);
//verifica se il file è stato caricato sul server
if ($inviato) {
echo("File già esistente, cambiare nome prego.");
// Già esistente
}
Inoltre vorrei che se il file fosse già esistente che venisse automaticamente modificato il nome, magari aggiungendo un numero.
Altra cosa, vorrei che mi fosse inviata una e-mail appena viene allegato il file.
E per ultimo vorrei un controllo in modo che i file inviati siano solo ed esclusivamente immagine nelle estensioni più conosciute come: jpg, gif...
in modo che non vengano inviati virus o file che danneggerebbero il sito.
Il codice già creato del file che gestisci gli upload è il seguente:
Codice PHP:
<?php
// Nelle versioni di PHP precedenti alla 4.1.0 si deve utilizzare $HTTP_POST_FILES anzichè
// $_FILES.
$uploaddir = 'upload/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
//Di seguito l'aggiunta:
$nuovo_nome=$percorso.$ultimo_id.".jpg";
//nuovo nome dell'immagine
$inviato=file_exists($file_temp);
//verifica se il file è stato caricato sul server
if ($inviato) {
echo("File già esistente, cambiare nome prego.");
// Già esistente
}
echo "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File inviato correttamente.\n";
} else {
echo "Possibile attacco tramite file upload!\n";
}
echo 'Alcune infromazioni di debug:';
print_r($_FILES);
print "</pre>";
?>
Se vi servono altra info io sono qui.