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
M Conteggio con group by PHP 3
M Problema con Try Catch PHP 0
K Aiuto con file audio in html HTML e CSS 1
M Upload immagine con javascript problemi con FormData() Javascript 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
M Riportare in tabella HTML dati estratti con query SQL MySQL 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
G Invio form con PHP PHP 3
M Barra di navigazione con google HTML e CSS 1
T PROBLEMA CON SESSIONI PHP 3
A Problemi con move_uploaded_file PHP 7
G Menù a tendina di ricerca con query PHP 1
T fatture con voci fattura in php PHP 0
A Tabella con bottoni per aggiornamento record PHP 6
M Come selezionare e deselezionare radiobutton con jquery jQuery 1
MarcoGrazia Calcolo fra due date con esclusione delle feste PHP 7
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
M Inviare un file su un server remoto con JavaScript Javascript 0
L problema con query select PHP 2
M Come validare textarea con jquery jQuery 0
M Problemi con la stampa dei valori in php PHP 1
A Regex per isolare link interni con rel noopener PHP 0

Discussioni simili