ecco adesso che l'upload dei file funziona volevo complicarmi le cose
ho aggiunto al form upload un'altro form con
campi da compilare su dettagli dei file
il form adesso e cosi:
Codice PHP:
<form ENCTYPE="multipart/form-data" action="upload.php" method="POST">
<table width="100%" align="left" >
<tr>
<td colspan="2"><div align="left"><img src="logo3d.png"></td></div>
</tr>
<tr>
<td ><strong>Nome Modello:</strong></td>
<td width="90%"><input type="text" name="nome"><br></td>
</tr>
<tr>
<td><strong>Comment:</strong></td>
<td><input type="text" name="desc" ><br></td>
</tr>
<tr>
<td><b>Tipo Modello:</b></td>
<td width="90%"> <select name="tipo">
<option value="dirty">Dirty</option>
<option value="race">Race</option>
<option value="hobby">Hobby</option>
<option value="videogames">Videogames</option>
<option value="team">Team</option>
<option value="suv">Suv</option>
<option value="other">Other</option>
</select><br></td>
</tr>
<tr>
<td ><strong>Autore Modello:</strong></td>
<td width="90%"><input type="text" name="autore"><br><br></td>
</tr>
</div>
</table>
<tr>
<td width="16%"><strong>Another Dettail:<br></strong></td>
<td width="84%"><textarea name="dettail" id="dettail" rows="5" cols="39"></textarea><br><br></td>
</tr>
<td width="16%"><strong>ScreenShot Model:</strong></td>
<td width="84%"><input type="url" name="logo"><br><br></td>
</tr>
<tr>
<td><strong>File Model 3D:<br></strong></td>
<td><input type="file" name="file1"><br><br></td>
</tr>
<tr>
<td><strong>File Template Cars:<br></strong></td>
<td><input type="file" name="file2"><br></td>
</tr>
<tr>
<td><br><input type="submit" value="Upload Model 3D"></td>
</tr>
</form>
e fino a qui niente problemi
ma la parte dura viene dove carico i due file
perché volevo che se tutto nella query del form di inserimento dati va bene allora carica i file ma se anche uno dei file non e caricato correttamente cancella i dati inseriti nella query e tutti i file uploadati
allora questo e la query del form:
Codice PHP:
if(isset($_POST['doupload'])){
$nome = $_GET['nome'];
$desc = $_GET['desc'];
$tipo = $_GET['tipo'];
$autore = $_GET['autore'];
$dettil = $_GET['dettail'];
$logo = $_GET['screen'];
$date = date("d-m-Y");
//conessione al database
require('config.php');
if($nome == NULL OR $desc == NULL OR $tipo == NULL OR $autore == NULL OR $dettail == NULL OR $logo == NULL){
$final_report.= "Compilare tutti i campi..";
}else{
if(strlen($nome) <= 3 || strlen($nome) >= 30){
$final_report.="Il nome del gruppo deve conprendere dai 3 i 30 caratteri..";
}else{
if(strlen($desc) <= 3 || strlen($desc) >= 200){
$final_report.="Aggiungi una Descrizione per far trovare il tuo gruppo";
}else{
if(strlen($autore) <= 3 || strlen($autore) >= 30){
$final_report.="L'Autore del gruppo deve conprendere dai 3 i 30 caratteri..";
}else{
if(strlen($dettail) <= 3 || strlen($dettail) >= 250){
$final_report.="Nel commento Max caratteri 250";
}else{
$addgroup ="INSERT INTO Model3d (id,nome,desc,tipo,autore,dettail,logo,date) VALUES ('','$nome','$desc', '$tipo','$autore','$dettail','$logo','$date')";
if(!mysql_query($addgroup,$dbh)) /*eseguo la query e controllo se va a buon fine ^^*/
die("<h1>".mysql_error()."</h1>");
mysql_close($db_nome);
}}}}}}
e deve essere adattata a questo script per funzionare come ho detto sopra
Codice PHP:
<?
$dimensione_massima=1024000; //dimensione massima consentita per file in byte -> 1024 byte = 1 Kb
$dimensione_massima_Kb=$dimensione_massima/1024000;
$cartella_upload="prova/"; //cartella in cui eseguire l'upload (controllare permessi scrittura)
// percorso cartella relativo $cartella_upload="../public/";
$filtrare=1; //filtrare x estensioni ammesse? 1=si 0=no
$array_estensioni_ammesse=array('.zip','.rar'); //estensioni ammesse
if(!isset($_FILES['file1']) || $_FILES['file1']['size']==0){
echo "Nessun file selezionato per l'upload<br>";
}elseif($_FILES['file1']['size']>$dimensione_massima){
echo "Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb<br>";
}else{
$nome_file=$_FILES['file1']['name'];
$errore="";
if($filtrare==1){
$estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, ".")));
if(!in_array($estensione,$array_estensioni_ammesse)){
$errore.="Upload file non ammesso. Estensioni ammesse: ".implode(", ",$array_estensioni_ammesse)."<br>";
}
}
if(!file_exists($cartella_upload)){
$errore.="La cartella di destinazione non esiste<br>";
}
if($errore==""){
if(move_uploaded_file($_FILES['file1']['tmp_name'], $cartella_upload.$_FILES['file1']['name'])){
chmod($cartella_upload.$_FILES['file1']['name'],0777); //permessi per poterci sovrascrivere/scaricare
echo "Operazione eseguita con successo. Upload riuscito.";
}else{
echo "Impossibile effettuare l'upload del file<br>";
}
}else{
echo $errore;
}
}
if(!isset($_FILES['file2']) || $_FILES['file2']['size']==0){
echo "Nessun file selezionato per l'upload<br>";
}elseif($_FILES['file2']['size']>$dimensione_massima){
echo "<br>Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb<br>";
}else{
$nome_file=$_FILES['file2']['name'];
$errore="";
if($filtrare==1){
$estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, ".")));
if(!in_array($estensione,$array_estensioni_ammesse)){
$errore.="<br>Upload file non ammesso. Estensioni ammesse: ".implode(", ",$array_estensioni_ammesse)."<br>";
}
}
if(!file_exists($cartella_upload)){
$errore.="<br>La cartella di destinazione non esiste<br>";
}
if($errore==""){
if(move_uploaded_file($_FILES['file2']['tmp_name'], $cartella_upload.$_FILES['file2']['name'])){
chmod($cartella_upload.$_FILES['file2']['name'],0777); //permessi per poterci sovrascrivere/scaricare
echo "<br>Operazione eseguita con successo. Upload riuscito.";
}else{
echo "<br>Impossibile effettuare l'upload del file<br>";
}
}else{
echo $errore;
}
}
?>
Grazie per il vostro aiuto