Upload multiplo con creazione di cartella

Raffaele Corso

Nuovo Utente
15 Mar 2013
4
0
0
Ciao a tutti,
sono ancora alle prime armi ed ho bisogno di un aiuto,
sto creando un sito di fotografia in cui le persone mi inviano le loro foto per poi elaborarle io,
cercando su internet o trovato questo upload multiplo funzionante,
la mia richiesta sta sul far creare una cartella all'interno del mio sito o di un eventuale ftp col nome del testo inserito sul campo usename,
e controllare se i campi sono stati riempiti

HTML:
<body>

<form action="upload_file.php" method="post"
enctype="multipart/form-data">
Username <br>
 <input type='text' name='username'><br>
<label for="file">File:</label><br>
<input type="file" multiple="multiple" name="file[]" /> 
<br /><br />
<input type="submit" value="Invia" name="go"/>
</form>

</body>

PHP:
<?php
//sposto gli elementi in una directory chiamata file
if(isset($_FILES['file']))
    foreach($_FILES['file']['tmp_name'] as $key=>$value)
        @move_uploaded_file($value, dirname(__FILE__)."/file/".$_FILES['file']['name'][$key]);
?>
 

Raffaele Corso

Nuovo Utente
15 Mar 2013
4
0
0
o modificato un po la parte html
HTML:
<body>
<form method="post" action="crea.php" >
<div >Tipologia Fotobook<br /><select class="mandatory" style=" width: 200px; margin-right: 10px; vertical-align: top; padding-top: 2px; padding-bottom: 2px;" name="tipologia"><option value="">-</option><option value="spirofoto">Spirofoto</option><option value="fotoquaderno">Foto quaderno</option><option value="fotobookmorbido">Fotobook morbido</option><option value="fotobookrigido">Fotobook rigido</option><option value="fotobookfotografico">Fotobook fotografico</option></select></div><br />
Titolo del book <br>(esempio "i miei 18°anni) <br>
<input type='text' name='titolo' size='35' ><br>
<div >Formato<br /><select class="mandatory" style=" width: 100px; margin-right: 10px; vertical-align: top; padding-top: 2px; padding-bottom: 2px;" name="formato"><option value="">-</option><option value="21x21">21x21</option><option value="21x29">21x29</option></select></div>
<br />
<label for="file">Filename:</label>
<input type="file" multiple="multiple" name="file[]" /> <br /><br />
<input type="submit" value="Avanti" />
</form>

</body>

PHP:
<?php

$titolo = $_POST['titolo' ]   ;
$formato = $_POST['formato' ]   ;
$tipologia = $_POST['tipologia' ]   ;
$crea1 = mkdir("fotobook/$tipologia/$formato", 0777);
$crea2 = mkdir("fotobook/$tipologia/$formato/$titolo", 0777);
if(isset($_FILES['file']))
    foreach($_FILES['file']['tmp_name'] as $key=>$value)
        @move_uploaded_file($value, dirname(__FILE__)."/fotobook/$tipologia/$formato/$titolo/".$_FILES['file']['name'][$key]);
?>

Il php mi funziona fino alla parte del crea cartelle dopo no non mi invia nulla, come posso modificarlo??
 

Raffaele Corso

Nuovo Utente
15 Mar 2013
4
0
0
sono riuscito a farlo :)
posto qui l'upload con la creazione cartelle funzionante

HTML:
<body>
<form method="post" action="crea.php" enctype="multipart/form-data">
Username<br><input type='text' name='username' size='35' ><br>
Titolo del book <br>(esempio i miei 18 anni) <br>
<input type='text' name='titolo' size='35' ><br>
<div >Formato<br /><select class="mandatory" style=" width: 100px; margin-right: 10px; vertical-align: top; padding-top: 2px; padding-bottom: 2px;" name="formato"><option value="">-</option><option value="21x21">21x21</option><option value="21x29">21x29</option></select></div>
<br />
<label for="file">Filename:</label>
<input type="file" multiple="multiple" name="file[]" /> <br /><br />
<input type="submit" value="Avanti" />
</form>

</body>

PHP:
<?php

@$titolo = $_POST['titolo' ]   ;
@$formato = $_POST['formato' ]   ;
@$tipologia = $_POST['tipologia' ]   ;
@$user = $_POST['username' ]   ;
@$crea1 = mkdir("fotobook/spirofoto/$user", 0777); 
@$crea2 = mkdir("fotobook/spirofoto/$user/$titolo", 0777); 
@$crea3 = mkdir("fotobook/spirofoto/$user/$titolo/$formato", 0777); 
 if(isset($_FILES['file']))
    foreach($_FILES['file']['tmp_name'] as $key=>$value)
@$crea4 = move_uploaded_file($value, dirname(__FILE__)."/fotobook/spirofoto/$user/$titolo/$formato/".$_FILES['file']['name'][$key]);
if($crea4) { echo "<h1>File inviati corretamente</h1>"; }
else { echo "<h1>ERRORE NELL'INVIO DEI FILE!</h1> <form action='index.html' method='POST'>
<input type='submit' value='Torna indietro'>
</form>"; }

?>

se avete ulteriori consigli da darmi scrivete pure
 

Iena Ventidue

Nuovo Utente
10 Ott 2015
4
0
0
ho provato ad usare questo tuo codice creando le due pagine l'index.html e la crea.php ... ma mi dice sempre errore nell'invio del file
 

Iena Ventidue

Nuovo Utente
10 Ott 2015
4
0
0
Scusa la mia ignoranza.... mi potresti per cortesia fare l'esempio?
Avevo modificato questo
@$user = $_POST['username' ]
in
@$username = $_POST['username' ]
e ogni tanto mi funzionava ma non va bene se non funziona al 100 per cento.

mi potresti scrivere il codice PHP giusto? Te ne sarei grato
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
devi togliere i silemt (la @) e fare un controllo di quello che avviene
ti faccio tre esempi schematici
es. 1
PHP:
<?php
$user = trim($_POST['username' ]);//tolgo eventuali spazi, se uno mette solo spazi la stringa si vuota
if(!preg_match('/^[A-Z]{4,9}$/',$user)){//in user, es, possono esserci solo caratteri alfabetici maiuscoli lungo min 4 max 9
	/*non è giusto, avvisi
	e quindi riinvii al form o dove vuoi*/
}
//.....
?>
es. 2
PHP:
<?php
$crea1 = mkdir("fotobook/spirofoto/$user", 0777);
if(!$crea1){
	/*la cartella  non o stata creata, avviso
	e ritorni a dove vuoi*/
}
//.....
?>
analogo discorso (molto importante) nel caricare i file; devi verificare che siano file ammessi, potrebbero caricarti delle porcherie
es. 3
PHP:
<?php
$estensione=pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
$ammessi=array('jpg','gif','png');//elenco dei tipi ammessi
if(!in_array($estensione,$ammessi)){
	/* tipo di file non ammesso
	avvisi e rimandi dove vuoi*/
}else{
	//carichi i file
}
//....
?>
nell'ultimo caso è importante perchè se fai
@$crea4 = move_uploaded_file($value ecc...
e basta non ti da (se ci fosse errore) e qualcuno potrebbe caricarti cancella_tutto.exe
certo devi lavorare di più e l'uso del silent sembra facilitare, ma come minimo rischi che qualcuno ti mandi in palla lo script e non ci fai una bella figura
 

Iena Ventidue

Nuovo Utente
10 Ott 2015
4
0
0
Grazie
Avevo ovviato al primo punto mettendo dei campi obbligatori di scelta <option value="">-</option> perciò senza potere scrivere.....ora mi occuperò e hai ragione delle estensioni anche se nel mio caso...non so proprio dove metterlo ... hahah
ho modificato un po di cose......
PHP:
<?php 

$anno = $_POST['anno' ]   ; 
$corso= $_POST['corso' ]   ; 
$username = $_POST['username' ]   ; 
$crea1 = mkdir("Archivio/$username", 0777);  
$crea2 = mkdir("Archivio/$username/$anno", 0777);  
$crea3 = mkdir("Archivio/$username/$anno/$corso", 0777);  
 if(isset($_FILES['file'])) 
    foreach($_FILES['file']['tmp_name'] as $key=>$value) 
$crea4 = move_uploaded_file($value, dirname(__FILE__)."/Archivio/$username/$anno/$corso/".$_FILES['file']['name'][$key]); 
if($crea4) { echo "<h1>File inviati corretamente - Puoi tornare indietro </h1> "  ; } 
else { echo "<h1>ERRORE NELL'INVIO DEI FILE!</h1> <form action='http://elezionifavara.altervista.org/area-privata/' method='POST'> 
<input type='submit' value='Torna indietro'> 
</form>"; } 

?>

il tuo terzo esempio dove dovrei integrarlo nel mio caso.....scusa ma sono proprio una frana!!!
 
Discussioni simili
Autore Titolo Forum Risposte Data
Cosina Upload multiplo con invio allegati per email PHP 0
Cosina Upload multiplo con archiviazione in cartella PHP 16
L [PHP] problema con upload e javascript (upload multiplo) Javascript 2
P Problema con lettura filesystem del client da server! Upload multiplo foto. PHP 5
C [PHP] Problema upload file (multiplo) PHP 1
P [PHP] Upload multiplo PHP 4
A Upload multiplo di immagini in PHP PHP 3
L upload + textarea + checkbox in un form multiplo Javascript 7
R upload immagini multiplo e ridimensionamento PHP 0
S [RISOLTO] Fatal error in Upload Multiplo di immagini PHP 2
R upload multiplo di file PHP 7
M upload multiplo di 2 immagini su database mysql PHP 23
L upload multiplo PHP 4
P Risuscito un vecchio script di upload immagine multiplo PHP 10
P Script per upload multiplo file Javascript 3
F upload multiplo Classic ASP 3
P Upload multiplo nella stessa cartella PHP 3
M Upload immagine con javascript problemi con FormData() Javascript 1
Z Upload protetto e sicuro PHP 1
L Modifica file upload in ASP Classic ASP 2
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
P Script upload immagini jQuery 0
L upload image tramite url e cache PHP 10
W Non fa l'upload PHP 0
L Upload di un'immagine all'interno di un database usando php PHP 6
S Upload file senza doverlo selezionare PHP 2
P Upload foto cover e profilo jQuery 0
G Upload file error Apache 0
R Modifica codice per l'upload di più file PHP 1
S Problemi con modulo upload video php (help!) PHP 0
S [PHP] Upload stesso file PHP 14
max1974 [Javascript] dropzone upload to server Javascript 0
S [ASP.Net] [ASP] Upload Image ASP.NET 6
F [PHP] Informazioni upload PHP 11
G [PHP] upload file in server: percorso cartella PHP 2
M Upload 4 file php PHP 11
M [ASP] Upload file da form controllo Classic ASP 5
D [PHP] Upload intera cartella PHP 2
felino [PHP] Uploadify: upload immagini PHP 0
M [PHP] Nome file, upload e rinominare PHP 2
R Configurazione upload ftp su dvr IP Cam e Videosorveglianza 3
M [PHP] upload di un file esistente overwrite PHP 1
N [PHP] Test per l'upload di file attraverso un bot Telegram PHP 2
L [PHP] upload con errore PHP 2
V [PHP] Upload Excel in db PHP 0
jailbait [PHP] Upload immagine e stampa a schermo PHP 0
G PHP upload dati ed immagine PHP 7
F [PHP] Validare form prenotazione appuntamento tattoo con upload image PHP 0
D [PHP] Upload encrypt image PHP 0

Discussioni simili