Caricare immagini con scelta multipla e creare le

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Inoltre, se io creo il nome dell'album per un tipo di raccoltoa foto, poi tutta la colonna riguardante "album" rimane vuota solo con il primo del titolo ????
ogni foto dovra essere associata ad un album

puoi modificare il campo album cosi
`album` set('ALTRO','PAESAGGI','ANIMALI') NOT NULL

e nel form prima di inserire l'immagine scegli l'album da un menu a tendina

è un esempio
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

L'esempio mi attizza molto. E come si associano le foto agli album ??? Immagino tramite l'id dell'album. Hai per caso visto il codice modificato che mi da errore ??? Dove ho sbagliato nell'inserire l'if ???
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
E come si associano le foto agli album
la tabella è la stessa che hai fatto tu
tab.png
PHP:
<?php
require_once("connetti.php");
///inizializziamo il messaggio
$messaggio = "&nbsp;";
// estensioni ammesse
$estensioni = array("jpg", "png", "bmp", "pdf");
// percosrso destinazione immagini la cartella deve esistere e il percorso deve essere corretto
$dir = getcwd() . "/img";
// verifichiamo che sia stato premuto il submit
if (isset($_POST['upload']) && $_POST['upload'] == "Carica immagine") {
    // recuperiamo l'album i controlli sarebbe da aumentare
    $album = mysql_real_escape_string($_POST['album']);
    // nome del file
    $nomefile = strtolower($_FILES["image"]["name"]);
    // recuperiamo l'esensione
    $estensionefile = pathinfo($nomefile, PATHINFO_EXTENSION);
    // controlliamo il tipo immagine
    if (in_array(strtolower($estensionefile), $estensioni)) {
        // controllo caricamento
        if (is_uploaded_file($_FILES["image"]["tmp_name"])) {
            // spostiamo il file nella cartella immagini
            if (!move_uploaded_file($_FILES["image"]["tmp_name"], "$dir/$nomefile")) {
                $messaggio = "Impossibile spostare il file";
            } else {
                $q_i = mysql_query("INSERT INTO immagine(album,immagine) VALUES('$album','$nomefile')");
                if ($q_i) {
                    $messaggio = "Immagine caricata e memorizzata con successo";
                } else {
                    $messaggio = "Immagine caricata ma non memorizzata";
                }
            }
        } else {
            $messaggio = "Errore nell'upload del file.";
        }
    } else {
        $messaggio = "Tipo immagine non consentito";
    }
}
?>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Carica immagini</title>
        <style>
            .thumb {
                width:96px;
                height:96px;
                margin:0 5px;
            }
        </style>
    </head>
    <body>
        <form enctype='multipart/form-data' method='post' action='<?php echo $_SERVER['PHP_SELF'] ?>'>
            <p><?php echo $messaggio ?></p>
            <p>Categoria: </p>
            <p><select name="album">
                    <option value="ALTRO">Altro</option>
                    <option value="ANIMALI">Animali</option>
                    <option value="PAESAGGI">Paesaggi</option>
                </select></p>
            <p>Selezione immagine: </p>
            <!-- Campo file di nome "image" -->
            <p><input name="image" type="file" size="40" enctype='multipart/form-data'/></p>            
            <!-- Pulsante -->
            <p><input name="upload" type="submit" value="Carica immagine" /></p>
        </form>
        <p>Immagini caricate</p>
        <?php
        // indico il percorso della cartella
        $d = dir(getcwd() . "/img");
        //ciclo il contenuto
        while ($entry = $d->read()) {
            if ($entry != "." && $entry != "..") {
                // se non è un altra cartella
                if (!is_dir("img/" . $entry)) {
                    // mostro l'immagine
                    echo "<img class='thumb' src='img/" . $entry . "' alt='img'/>";
                }
            }
        }
        $d->close();
        ?> 
    </body>
</html>
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ok, Domani provo il codice che mi hai postato, ma sul tardi lo proverò. Che prima sto in giro. Così poi ti dico se vao meno. Grazie per ora e buona serata. Provato il codice, sei un piccolo genio insieme a bothgo, grazie mille. Mi sta caricando tutte le foto che avevo memorizzato in precedenza. Si può velocizzare il processo per caso ??? Considera che sta tutto sul nas e il nas è situato a roma. Forse chiedo la luna.
 
Ultima modifica:

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ciao Cricric,

Allora ho eseguito ieri ed oggi il tuo capolavoro con le thumb e funzionano a meravgilia. Ora mi chiedevo, ma per selezionare na foto più di una sigolarmente cosa bisogna fare ???? E ovviamente memorizare sempr eil link sul db. Inoltre, invece di mettere un menu a tendine, l'utente può decidere il nome dell'album ???? Come semre grazie per la tua preziosa collaborazioen.
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Volevo ringraziare il moderatore che mi ha fatto la modifica del nickname. E ne approfittavo per sapere se avei qualche idea cricric o borgo per risolvere il problema delle foto con selezione multipla. Grazie.,
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ricordati che "multiple" funzia solo con html5 e solo chon fire, opera e chrome, non con ie
poi secondo me diventa un po un casino perche $_FILES['imm'] diventa un array di array es.
imm['name'][0] => prima.jpg
imm['name'][1] => seconda.jpg ....
imm['type'][0] => image/jpeg
imm['type'][1] => image/jpeg ....
imm['tmp_name'][0] => C:\WINDOWS\TEMP\php1AA9.tmp
imm['tmp_name'][1] => C:\WINDOWS\TEMP\php1AAA.tmp ....
poi l'error ed il size
come puoi vedere provando lo scrpt sotto e guardando cosa ti restituisce il var_dump

PHP:
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>
<body>
<?php
if(isset($_POST['invia'])){
var_dump($_FILES['imm']);
}

?>

<form action="#" method="post" enctype="multipart/form-data">
<input multiple="multiple" name="imm" type="file"><br>
<input name="invia" type="submit" id="invia" value="Invia">
</form>
</body>
</html>
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ciao,

Mi sorge un dubbio, se c'è problema di array, come l'ha risolto il principiante che ha inventato facebook ??? Perchè su fb si caricano le immagini più di una contemporanea e non solo, c'è il problema che su internet parlano di selezione multipla ma senza la memorizzazione dei link su db, è quella la parte più difficile e ostica da risolvere,k secondo me, o sbaglio ????? Mi puoi fare un esempio per favore di un'immagine nell'array e con le cartelle temporanee, è quello che non riesco a comprendere bene.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
come l'ha risolto il principiante che ha inventato facebook ???
se fossi bravo come lui adesso sarei alle bhamas a prendere il sole
Mi puoi fare un esempio per favore di un'immagine nell'array e con le cartelle temporanee
se provi lo script che ti ho postato vedi come si forma l'array
c'è il problema che su internet parlano di selezione multipla ma senza la memorizzazione dei link su db, è quella la parte più difficile e ostica da risolvere,
scusa ma non capisco cosa intendi
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ciao,

Quellop che intendevo, nei vari esempi che si trovano su internet, anche quello vostro, c'è sia la selezione multipla, quindi con tasto ctrl+mouse, e sia selezione singola e poi ci sono le thumb. Ora quello che intendevo dire io, è che non si trovano mai almeno io non sono riuscito a trovarlo, esempi completi conselezione multipla (ctrl+tasto mouse) e il salvataggio delle foto sul database o meglio il link, che ogni volta le puoi richiamare. Spero di essere stato più chiaro.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
internet non è il pozzo di san patrizio, quindi non è possibile che abbia un esempio per tutto e su tutto.
comunque tu l'hai, basta adattare quanto ti ha fornito criric per caricare le immagini all'uso dell'array.
eventualmente chiedigli come fare l'adattamento, visto che lo script l'ha fatto lui dovrebbe con facilità aggiornarlo
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Si vero,

Anche tu hai ragione. Anzi che si trova parecchia roba su php e html. Chiederò a lui come poterlo modificare. Ancora non ho potuto provare il tuo scrip, perchè mi è andato in palla il pc e lo debbo ripristinare. Spero che entro stasera riesco a provarlo. Comunque grazie davvero per l'aiuto incredibile che ho trovato su questo forum.
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

ciao
ricordati che "multiple" funzia solo con html5 e solo chon fire, opera e chrome, non con ie
poi secondo me diventa un po un casino perche $_FILES['imm'] diventa un array di array es.
imm['name'][0] => prima.jpg
imm['name'][1] => seconda.jpg ....
imm['type'][0] => image/jpeg
imm['type'][1] => image/jpeg ....
imm['tmp_name'][0] => C:\WINDOWS\TEMP\php1AA9.tmp
imm['tmp_name'][1] => C:\WINDOWS\TEMP\php1AAA.tmp ....
poi l'error ed il size
come puoi vedere provando lo scrpt sotto e guardando cosa ti restituisce il var_dump

PHP:
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>
<body>
<?php
if(isset($_POST['invia'])){
var_dump($_FILES['imm']);
}

?>

<form action="#" method="post" enctype="multipart/form-data">
<input multiple="multiple" name="imm" type="file"><br>
<input name="invia" type="submit" id="invia" value="Invia">
</form>
</body>
</html>


Ciao Borgo,

Finalmente ho ripristinato il pc e funziona tutto più velocemente. Si era leggermente incasinato. Ho potuto provare stasera, perchè ho finito da poco di installare il tutto, il tuo scrip, e il var_dump, mi restituisce la seguente scritta:

PHP:
array(5) { ["name"]=> string(39) "488266_432683443442047_1248303808_n.jpg" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(24) "/var/spool/php/phpm1jPHc" ["error"]=> int(0) ["size"]=> int(119110) }

Cosa vuol dire ciò ???? Spero che mi spieggherai. Aspetto come al solito tue notizie. Grazie.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per capire quel var_dump, cancella il precedente e prova questo (sempre che il tuo bw supporti html5 e che non sia ie)

PHP:
</head>
<body>
<?php
if(isset($_POST['invia'])){
var_dump($_FILES["imm"]);echo "<br>";
$immagini=$_FILES["imm"];
	foreach($immagini as $ch_1 => $va_1){
		if(is_array($va_1)){
			foreach($va_1 as $ch_2 => $val_2){
				echo "imm[$ch_1][$ch_2] = $val_2<br>";
			}
		}
	}
}
?>
<form action="#" method="post" enctype="multipart/form-data">
<input multiple="multiple" name="imm[]" type="file"><br>
<input name="invia" type="submit" id="invia" value="Invia">
</form>
</body>
</html>

se usi IE il multiple non funzia
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ciao Grazie,

Sono tornato ora dai vari giri. io adopero Firefox, ultima versione, ne crhome e nie mi piacciono. Però mio nipote adopera ie e mio padre adopera crhome. Benchè mio padre abbia anche firefox. Comunque, non credo che sia un grosso problema. Perchè poi minipote vorrebbe caricare i video come fa facebook da youtube. Quindi presumo che i video sia un'altra storia. Ma a me attualmente interessano le immagini. Ora provo e poi ti dico il risultato.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non è che con ie non funzi, ma su ie è come se multiple="multiple" non esistesse e carica un file alla volta (che siano immagini, testi o altro)
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Capito,

Ma una curiosità, per i video è lo stesso meccanismo delle immagini ???? Ora mi da il seguente risultato. Ho caritato due foto:

PHP:
array(5) { ["name"]=> array(2) { [0]=> string(19) "100_3899_remake.jpg" [1]=> string(15) "11082010120.jpg" } ["type"]=> array(2) { [0]=> string(10) "image/jpeg" [1]=> string(10) "image/jpeg" } ["tmp_name"]=> array(2) { [0]=> string(24) "/var/spool/php/php0WqtYI" [1]=> string(24) "/var/spool/php/php1jbLJI" } ["error"]=> array(2) { [0]=> int(0) [1]=> int(0) } ["size"]=> array(2) { [0]=> int(1244330) [1]=> int(787251) } }
imm[name][0] = 100_3899_remake.jpg
imm[name][1] = 11082010120.jpg
imm[type][0] = image/jpeg
imm[type][1] = image/jpeg
imm[tmp_name][0] = /var/spool/php/php0WqtYI
imm[tmp_name][1] = /var/spool/php/php1jbLJI
imm[error][0] = 0
imm[error][1] = 0
imm[size][0] = 1244330
imm[size][1] = 787251

Domanda di prima, cosa vuol dire ?? Che le ha memorizzate, ma non nel db o sbaglio ????
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ma scusa vedi nello script qualche riferimento a mysql (per mettere nel db) o al move_upload (per caricare i file)?
i pc possono anche essere potenti, ma ancora non hanno la capacità di leggere nel pensiero quello che vorresti fare.
per quanto riguarda se è lo stesso per le immagini e/o i video allo script "non glene può fregà de meno" di quello che carichi.
potresi caricare anche virus per infettare altri pc
lo scipt in questo caso VISUALIZZA solamente i dati di quello che hai messo nell'input.
vuol dire che hai immesso due immagini chiamate una 100_3899_remake.jpg e l'altra 11082010120.jpg , entrambe di type image/jpeg, con due tmp_name, non ci sono errorei [0] e due grandezze diverse.
ora al posto del var_dump devi sostituire tutto l'ambaradan che ti ha postato criric (ti conviene contattarlo)
 
Discussioni simili
Autore Titolo Forum Risposte Data
G caricare immagini sul db con il formato text PHP 3
renoir09 Impossibile caricare immagini con wordpress WordPress 0
M caricare immagini esterne in un movieclip con loadmovie Flash 10
Y CARICARE IMMAGINI IN CARTELLA PHP PHP 3
9 caricare immagini in tabella html da cartella sul server tramite id database PHP 1
M Zenphoto: far caricare immagini agli utenti CMS (Content Management System) 0
B Caricare immagini in un DB insieme ad altri dati e visualizzarli PHP 2
P Come caricare immagini e video PHP 57
D pagina per caricare testo e immagini direttamente sul sito pubblicato PHP 7
I Caricare immagini da una cartella esterna a flash Flash 21
B caricare immagini database PHP 4
P Caricare piu immagini nel filmato Flash 0
V Codice per caricare immagini sul server Classic ASP 11
M tasto sfoglia per caricare delle immagini Classic ASP 5
L Come caricare un'immagine in Canvas dinamicamente Javascript 0
C Come caricare foto da google foto ad un sito? Discussioni Varie 1
Y Come caricare e visualizzare un'immagine PHP 0
I javascript come caricare una pagina sopra quella corrente in automatico Javascript 2
O MIT App Inventor - caricare un file da app Sviluppo app per Android 1
Alex_70 [PHP] Caricare foto su un'altra tabella collegata PHP 0
A [Java] caricare un url esterno senza utilizzo di iframe Java 0
G Caricare una jpg con il php PHP 1
N [WordPress] Caricare diversi fogli di stile in tema-child WordPress 0
G Caricare una semplice Jpg con il PHP PHP 1
E Caricare dati da DB MySql all'apertura pagina, meglio PHP o Javascript? PHP 1
Selenio89 problema a caricare immagine con html. dove sbaglio? HTML e CSS 25
P [PHP] Caricare un file da client XP su server Ubuntu PHP 2
M [Javascript] Caricare link esterno file js in base al device Javascript 0
L Come caricare <iframe> dopo il click ad un immagine, per migliorare le prestazioni. Discussioni Varie 0
andrea93_12 Aiuto caricare immagine su database MYSQL MySQL 1
giancarlob Prova a rimandare o a caricare in modo asincrono le risorse di blocco SEO e Posizionamento 0
F [HTML] Caricare un font ttf HTML e CSS 2
A Caricare foto in una gallery PHP 0
A caricare file PHP con Load cambiandone parte del contenuto jQuery 1
A Caricare una pagina jsp in un div alla pressione di un button Javascript 1
M Problema caricare file sul hosting Discussioni Varie 1
M Caricare più google maps con un ciclo Javascript 1
marino51 non riesco a caricare un allegato percgè non riesco a ridimensionare la finestra Supporto Mr.Webmaster 0
P Caricare nuova pagina dopo invio dati form Javascript 11
F Caricare immagine da Mysql su evento click-radio Javascript 5
D Caricare foto in un DB PHP 2
S Caricare una pagina con JQuery jQuery 4
asevenx problemi per caricare immagine su server PHP 4
A [risolto] caricare con un ciclo For dei file PHP inclusi in una variabile array PHP 3
F Caricare file da locale al server Javascript 3
D Caricare file via ajax Ajax 1
P Caricare un .exe sul sito. HTML e CSS 6
P caricare dati all'interno di un tag div html HTML e CSS 15
I Perchè devo cliccare 2 volte su un link per caricare correttamente il css di una galleria? WordPress 1
F Caricare contenuto pagina all'interno di un'altra pagina Javascript 1

Discussioni simili