Salve a tutti
Volevo postare questo codice Perfettamente finzionante che permette l'upload di file Pdf o immagini con Db
Codice PHP:
<?
require_once("config.php");
$directory = "menu/";
// inseriamo le dimensioni massime consentite per l'upload
// massimo peso
$max_file_size = 1110240;
// massima larghezza
$max_width = 1300;
// altezza massima
$max_height = 11100;
//La parte seguente di codice verifica se esiste il valore "upload" in POST
//In caso contrario viene visualizzato il form per l'upload dell'immagine
if(!isset($_POST['upload'])){
echo "<form action='uploadimage.php' method='post' enctype='multipart/form-data'>
Titolo Menu*:
<input type='text' name='titolo' />
Prezzo Menu:
<input type='text' name='prezzo' />
Tipo Menu*:
<select name='tipomenu' size='1'>
<option value='0'>>Seleziona<</option>
<option value='1'>Eventi</option>
<option value='2'>Altri menu</option>
</select>
Scegli menu da caricare:
<input type='file' name='immagine' />
<input type='submit' name='upload' value='Carica Immagine' /></form> ";
}
// enctype='multipart/form-data' all'interno del tag form è fondamentale per l'upload dell'immagine
elseif(isset($_POST['upload'])){
// prendo il timestamp per dare un nome casuale al file dell'immagine
$timestamp = time();
$titolo = mysql_real_escape_string($_POST['titolo']);
$tipomenu = mysql_real_escape_string($_POST['tipomenu']);
$prezzo = mysql_real_escape_string($_POST['prezzo']);
$dimensioni = getimagesize($_FILES['immagine']['tmp_name']);
$larghezza = $dimensioni[0];
$altezza = $dimensioni[1];
//costruisco l'array degli errori
$errors = array();
// if(empty($nomeimmagine) || empty($dimensioni)) {
if(empty($nomeimmagine)) {
$errors[] = 'Non hai inserito un nome al menu.';
}
if(empty($_FILES['immagine']['name'])) {
$errors[] = 'Non hai inserito l\'immagine per il caricamento';
}
if(empty($tipomenu)) {
$errors[] = 'Non hai selezionato il tipo di menu';
}
//verifico se il file è stato caricato correttamente
if(!is_uploaded_file($_FILES['immagine']['tmp_name'])) {
$errors[] = 'Si sono verificati errori durante l\'upload.';
}
if($_FILES['immagine']['size'] > $max_file_size) {
$errors[] = 'Immagine troppo pesante la dimensiome massima consentita è: [b]' . $max_file_size . '[/b] bytes.';
}
// Verifico se l'immagine è di tipo jpeg o gif
//$type=$_FILES['immagine']['type'];
//if($type != "image/gif" && $type != "image/pjpeg" && $type != "image/jpeg") {
// $errors[] = 'L\'immagine deve essere del formato JPEG o GIF.';
//}
// Verifico se l'immagine è di tipo Pdf
$type=$_FILES['immagine']['type'];
if($type != "application/pdf") {
$errors[] = 'Il file deve essere del formato PDF.';
}
// controllo le dimensioni dell'immagine
if($altezza > $max_width) {
$errors[] = 'L\'altezza della tua immagine è troppo grande';
}
if($larghezza > $max_width) {
$errors[] = 'La tua immagine è troppo larga.';
}
// Se ci sono stampo gli errori
if(count($errors) > 0) {
echo '[b]ERRORI:[/b]
';
foreach($errors as $err) {
echo $err . '
Riprova...';
}
}
//altrimenti effettuo l'upload
else {
$urlimmagine = $directory.$_FILES['immagine']['name'];
$menu =$_FILES['immagine']['name'];
//$urlimmagine = $directory. time() . '_' . $_FILES['immagine']['name'];
//inserisco l'immagine nella directory e se tutto va bene nel database
if(copy($_FILES['immagine']['tmp_name'], $urlimmagine)) {
mysql_query("INSERT INTO eventi (titolo, menu, tipomenu, prezzo, urlimmagine) VALUES ('$titolo', '$menu', '$tipomenu', '$prezzo', '$urlimmagine')");
// echo 'L\'immagine è stata caricata con successo. [url="' . $urlimmagine . '"]Clicca qui per vedere l\'immagine[/url].
Torna dietro'; }
echo 'L\'immagine è stata caricata con successo. [url="index.php"]Vai alla lista dei menu[/url].
'; }
else
echo 'Si sono verificati errori durante il caricamento dell\'immagine.';
}
}
?>
Chiedo se gentilmente qualcuno riesce a creare una pagina simile che pero permetta la modifica di un record
Spero sia utile e che possiate aiutarmi