Annuncio con Upload foto

mizar1966

Nuovo Utente
3 Nov 2013
9
1
3
Ciao a tutti, chiedo un aiuto per modificare uno script php esistente e gia' funzionante per fare l'upload di piu' foto.
Lo script attualmente funziona correttamente solo se faccio l'upload di una sola foto, e memorizza il percorso nel database MySql mentre la foto in una directory chiamata "foto".
Quello che vorrei è poter aggiungere almeno 3 o 4 foto.
Vi riporto per intero lo script che aggiunge i dati nel databse e che fa anche l'upload:

Questo è la parte del form con l'input type file
HTML:
<form action="?q=aggiungi2" method="post" enctype="multipart/form-data">
Foto <input type="hidden" name="MAX_FILE_SIZE" value="<? echo "$maxfilesize";?>" /><input name="uploadfile" type="file" />
<input type="submit" name="submit" value="Inserisci Annuncio" /></form>

Questo è l'intero script che aggiunge, non vi allego il fiel config.php ceh contiene solo le variabili:
PHP:
<?
if($nome == "" || $titolo == "" || $email == "" || $categoria == "" || $annuncio == "")
{
echo "<b>Verificare i campi obbligatori:</b> ( Nome, Titolo, Email, Categoria, Annuncio )<br /><br /><a href='javascript:javascript:history.go(-1)'>Torna Indietro</a>";
}
else{
function pwdgen () {
srand(time());
$i=($QUERY_STRING)?($QUERY_STRING):"10";
while($i--) {
while(!ereg("[abcdefghjkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVXYZ2-9]",$chr=sprintf("%c",rand(48,127))));
$pwd .= $chr;
}
return $pwd;
}
if ($_FILES['uploadfile']['name'] == "") {
$foto1 = "";
$website = ereg_replace('http://', "", $website);
$password = pwdgen();
mysql_query ("INSERT INTO tab_pagina (data, orario, nome, cognome, email, indirizzo, citta, telefono, website, titolo, categoria, annuncio, prezzo, foto1, stato, password) VALUES ('$data', '$orario', '$nome', '$cognome', '$email', '$indirizzo', '$citta', '$telefono', '$website', '$titolo', '$categoria', '$annuncio', '$prezzo', '$foto1', 'inattesa', '$password')");
mail("$email","Portale GpG Annuncio","$sitoweb\n\n$titolo\n\nATTENZIONE, Ancora il tuo Annuncio è in fase di verifica, entro 24 ore sarà on-line, quindi riceverai ancora una Mail per la conferma e con i dati per  Modificare e/o Eliminare il tuo Annuncio\n\nGrazie\n\nStaff Guardia-Giurata.it ", "FROM:Portale GpG<$emailadmin>\r\nReply-To:<$email>\r");
?>
Grazie, l'annuncio è stato inserito correttamente, ma è ancora in fase di verifica ( Senza nessuna Foto )<br/>
Riceverai una E-Mail appena possible.<br/>

<? 
}
else
{
$uploadFile = $uploadDir .  $fotostamp . $_FILES['uploadfile']['name'];
if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $uploadFile) )
{
$website = ereg_replace('http://', "", $website);
$password = pwdgen();
mysql_query ("INSERT INTO tab_pagina (data, orario, nome, cognome, email, indirizzo, citta, telefono, website, titolo, categoria, annuncio, prezzo, foto1, stato, password) VALUES ('$data', '$orario', '$nome', '$cognome', '$email', '$indirizzo', '$citta', '$telefono', '$website', '$titolo', '$categoria', '$annuncio', '$prezzo', '$uploadFile', 'inattesa', '$password')");
mail("$email","Portale GpG Annuncio","$sitoweb\n\n$titolo\n\nATTENZIONE, Ancora il tuo Annuncio è in fase di verifica, entro 24 ore sarà on-line, quindi riceverai ancora una Mail per la conferma e con i dati per  Modificare e/o Eliminare il tuo Annuncio\n\nGrazie\n\nStaff Guardia-Giurata.it ", "FROM:Portale GpG<$emailadmin>\r\nReply-To:<$email>\r");
?>
Grazie, l'annuncio è stato inserito correttamente, ma è ancora in fase di verifica. ( Con una Foto allegata )<br/>
Riceverai una E-Mail appena possible.<br/>

<? 
}
else
{
echo "<b><i>Errore</i></b><br/>";
echo "Foto troppo grande (max. 50KB)!\n\nAggiungi una foto più piccola e riprova.";
}
}
}
?>

Spero nel vostro aiuto. Grazie,
 
Ultima modifica di un moderatore:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, quello che posso fare è postarti uno script funzionante che avevo scritto tempo fa
a te vedere di adattarlo al tuo
PHP:
<?php
// limite peso in byte (1MB)
$peso_file = 1024 * 1024;
// inizializziamo il messaggio
$messaggio = "Seleziona una o piu immagini:";
// estensioni ammesse
$estensioni = array("jpg", "png", "bmp", "gif");
// percorso destinazione la cartella deve esistere e il percorso deve essere corretto
$dir = "../images";
// verifichiamo che sia stato premuto il submit
if (isset($_POST['upload']) && $_POST['upload'] == "Carica immagini") {
    // azzeriamo il messaggio
    $messaggio = "";
    // recuperiamo e uniamo le informazionei sulle immagini
    $infoimages = array_combine($_FILES["image"]['name'], $_FILES["image"]['tmp_name']);
    // cicliamo le immagini
    foreach ($infoimages as $k => $v) {
        // nome del file
        $nomefile = strtolower($k);
        // controlliamo il peso immagine
        if (filesize($v) < $peso_file) {
            // recuperiamo l'estensione
            $estensionefile = pathinfo($nomefile, PATHINFO_EXTENSION);
            // controlliamo il tipo immagine
            if (in_array(strtolower($estensionefile), $estensioni)) {
                // controllo caricamento
                if (is_uploaded_file($v)) {
                    // spostiamo il file nella cartella immagini
                    if (!move_uploaded_file($v, "$dir/$nomefile")) {
                        $messaggio .= "<br/>Impossibile spostare il file $k";
                    } else {
                        $messaggio .= "<br/>Immagine $k caricata con successo";
                    }
                } else {
                    $messaggio .= "<br/>Errore nell'upload del file $k.";
                }
            } else {
                $messaggio .= "<br/>Tipo immagine non consentito : $k";
            }
        } else {
            $messaggio .= "<br/>Immagine $k non caricata : limite peso superato";
        }
    }
}
?>
<form enctype='multipart/form-data' method='post' action='<?php echo $_SERVER['PHP_SELF'] ?>'>
    <p>Immagini consentite "jpg", "png", "bmp", "gif"</p>
    <p>
        <input name="image[]" type="file" size="40" multiple="multiple"/>
        <input name="upload" type="submit" value="Carica immagini" />
    </p>
</form>
<p><?php echo $messaggio ?></p>
dovrebbe funzionare ma ti conviene testarlo pima
 
Discussioni simili
Autore Titolo Forum Risposte Data
F registrazione utente mentre inserisce un annuncio PHP 0
G [VENDO] Annuncio Testuale Colorato A Rotazione - advhits.com (2500 Unici/Giorno) Vendere e Acquistare pubblicita' online 0
G [VENDO] Annuncio Testuale Fisso - advhits.com (Sconto 50%) Vendere e Acquistare pubblicita' online 0
G [VENDO] Annuncio Testuale A Rotazione - advhits.com (Sconto 50%) Vendere e Acquistare pubblicita' online 0
G [VENDO] Annuncio Testuale A Rotazione - advhits.com (Sconto 50%) Vendere e Acquistare pubblicita' online 0
G [VENDO] Annuncio Testuale A Rotazione - advhits.com (Sconto 50%) Vendere e Acquistare pubblicita' online 0
P Aiuto colegamento ad un annuncio WordPress 3
G [VENDO] Annuncio Testuale A Rotazione - advhits.com (Sconto 50%) Vendere e Acquistare pubblicita' online 0
G [VENDO] Annuncio Testuale Colorato Fisso - advhits.com (2500 Unici/Giorno) Vendere e Acquistare pubblicita' online 0
G [VENDO] Annuncio Testuale Colorato A Rotazione - advhits.com (2500 Unici/Giorno) Vendere e Acquistare pubblicita' online 0
W vuoi lasciare un annuncio? Altri Annunci 0
G [VENDO] Annuncio Testuale Colorato A Rotazione - advhits.com (2500 Unici/Giorno) Vendere e Acquistare pubblicita' online 0
G [VENDO] Annuncio Testuale Colorato A Rotazione - advhits.com (2.500 Unici/Giorno) Vendere e Acquistare pubblicita' online 0
G [VENDO] Annuncio Testuale Colorato A Rotazione - advhits.com (3000 Unici/Giorno) Vendere e Acquistare pubblicita' online 0
M Form per inserimento automatico annuncio HTML e CSS 7
W Vendo spazio tipo "Annuncio Google" Altri Annunci 0
S annuncio per freelance Altri Annunci 0
S Annuncio per freelance interessati a progetti di business partner Altri Annunci 0
K annuncio .. [importante] Site Altri Annunci 2
T Annuncio nuovo sito ..:Zen hosting:.. Hosting 0
R Cerco un grafico esperto per la creazione di 2 siti web... annuncio serio!!! Offerte e Richieste di Lavoro e/o Collaborazione 4
F [Annuncio] 0,10 Euro per click e 2 Euro cpm per DEM Guadagnare col Sito 0
zmassimo Annuncio il sito per la vera salvezza dell'umanità Presenta il tuo Sito 2
zmassimo Annuncio il mio sito, per la salvezza dell'umanità Presenta il tuo Sito 0
F access ricerca record con apostrofo. MS Access 0
F Cerco Hosting con VECCHIE versioni di php Hosting 0
C Come ricreare questo calcolatore di prezzi a step con woocommerce? WordPress 0
C Segnalo barra laterale di navigazione ASSENTE con Chrome Comunicazioni dallo Staff 5
G Guadagna dalla Vendita di Articoli Sponsorizzati con GuestPostMax.com! Guadagnare col Sito 0
P Hosting multidominio con Plesk Hosting 0
L Soluzione con INNER JOIN Database 0
S passare un valore da un form a un file .php con metodo post PHP 4
A Redirect 301 genera url statico con variabili Web Server 0
T problemi con dati menu a tendina HTML e CSS 2
T Query con date MS Access 1
F Url dinamiche da cambiare con categoria, subcategoria e title PHP 2
L Aiuto con DataGridView Visual Basic 1
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
M Aggiunta prodotti nel carrello con lo stesso in e varianti diverse PHP 0
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
B Non riesco a trovare i cognomi con i caratteri speciali in Access (Microsoft 365) MS Access 0
N Problema con position absolute e overflow HTML e CSS 4
M Estrarre soltanto i prodotti con stessa descrizione PHP 10
felino [Wordpress] Gallery con foto selezionabili dall'utente WordPress 0
G Invio di più valori con la stessa checkbox PHP 4
csi Inviare file jpg in locale alla stampante con php PHP 0
otto9due Proteggere una cartella e file con password tramite .htaccess e .htpasswd Web Server 0
I Form con selettore HTML e CSS 0

Discussioni simili