Salvare documenti in DB

Emix

Utente Attivo
15 Feb 2010
596
0
16
Buonasera,
è la prima volta che tento di salvare dei files nel DB percui scusate le eventuali domande inutili.
Ho letto diversi articoli ed ho provato a fare come da esempio:
Questo è il form in htm:
HTML:
<body>
<FORM METHOD ="post" action="insert_sinistro.php">
<table align="center" width="900px" height="100px">
<tr><td>
<img src="images/logo_sinistri.png" align="middle" >
</td></tr>
</table>
<br /><br />
<table width="480" height="382" border=0 align="center" cellpadding=5 cellspacing=5>
  <tr>
<td><font face="Eras Medium ITC">Operatore:</font></td><td width="234">
<input type=text name="operatore" size=35 maxlength=40 value="<?php echo $operatore; ?>"></td>
</tr>
<tr>
<td><font face="Eras Medium ITC">Data Inserimento:</font></td><td>
<input type=text name="data_ins" value="<?php echo $data; ?>" size=35 maxlength=40 ></td>
</tr>
<tr>
<td><font face="Eras Medium ITC">Data Rilevamento:</font></td><td>
<input type=text name="data_ril" value="" size=35 maxlength=40 ></td>
</tr>
<tr>
<td><font face="Eras Medium ITC">Lettera Nolo:</font></td><td>
<input type=text name="lettera_nolo" size=35 maxlength=40 value=""></td>
</tr>
<tr>
<td><font face="Eras Medium ITC">Targa:</font></td><td>
<input type=text name="targa" size=35 maxlength=40 value=""></td>
</tr>
<tr>
<td><font face="Eras Medium ITC">Modello:</font></td><td>
<input type=text name="modello" size=35 maxlength=40 value=""></td>
</tr>
<tr>
<td><font face="Eras Medium ITC">Colore:</font></td><td>
<input type=text name="colore" size=35 maxlength=40 value=""></td>
</tr>
<tr>
<td><font face="Eras Medium ITC">Descrizione 1:</font></td><td>
<textarea name="descrizione1" cols="50" rows="15"></textarea></td>
</tr>
<tr>
<td><font face="Eras Medium ITC">Descrizione 2:</font></td><td>
<textarea name="descrizione2" cols="50" rows="15"></textarea></td>
</tr>
<tr>
<td><font face="Eras Medium ITC">Descrizione 3:</font></td><td>
<textarea name="descrizione3" cols="50" rows="15"></textarea></td>
</tr>
<tr>
<td><font face="Eras Medium ITC">Dichiarazione:</font></td>
<td><input type="file" name="dichiarazione" size="40"></td>
</tr>
<tr>
<td><font face="Eras Medium ITC">Foto 1:</font></td>
<td><input type="file" name="foto1" size="40"></td>
</tr>
<tr>
<td><font face="Eras Medium ITC">Foto 2:</font></td>
<td><input type="file" name="foto2" size="40"></td>
</tr>
<tr>
<td><font face="Eras Medium ITC">Foto 3:</font></td>
<td><input type="file" name="foto3" size="40"></td>
</tr>
<tr>
<td><font face="Eras Medium ITC">Allegato 1:</font></td>
<td><input type="file" name="allegato1" size="40"></td>
</tr>
<tr>
<td><font face="Eras Medium ITC">Allegato 2:</font></td>
<td><input type="file" name="allegato2" size="40"></td>
</tr>
<tr>
<td><font face="Eras Medium ITC">Allegato 3:</font></td>
<td><input type="file" name="allegato3" size="40"></td>
</tr>
<tr><td></td><td>
	<p align="center">
	<input type=submit value="Inserisci sinistro" name="inserisci" style="font-weight: 700"></td></tr>
</table>
</form>
</body>
Questa è la pagina PHP che si preoccupa dei files e dell'inserimento nel DB:
PHP:
<?php
//CONNESSIONE AL DATABASE
include('connect.php');
//RECUPERA DATI DAL FORM
$operatore = $_POST['operatore'];
$operatore = addslashes(htmlspecialchars(($_POST['operatore'])));
$data_ins = $_POST['data_ins'];
$data_ril = $_POST['data_ril'];
if($data_ril ==""){
echo "<p>Il campo Data di Rilevamento non puo essere vuoto</p>";
$a=1;
}else{
  $a=2;
  }
$lettera_nolo = $_POST['lettera_nolo'];
$lettera_nolo = addslashes(htmlspecialchars(($_POST['lettera_nolo'])));
if($lettera_nolo ==""){
echo "<p>Il campo Lettera Nolo non puo essere vuoto</p>";
$b=1;
}else{
  $b=2;
  }
$targa = $_POST['targa'];
$targa = addslashes(htmlspecialchars(($_POST['targa'])));
if($targa ==""){
echo "<p>Il campo Targa non puo essere vuoto</p>";
$c=1;
}else{
  $c=2;
  }
$modello = $_POST['modello'];
$modello = addslashes(htmlspecialchars(($_POST['modello'])));
if($modello ==""){
echo "<p>Il campo Modello non puo essere vuoto</p>";
$d=1;
}else{
  $d=2;
  }
$colore = $_POST['colore'];
$colore = addslashes(htmlspecialchars(($_POST['colore'])));
$descrizione1 = $_POST['descrizione1']; 
$descrizione2 = $_POST['descrizione2'];
$descrizione3 = $_POST['descrizione3'];
$dichiarazione = $_POST['dichiarazione'];
if($dichiarazione ==""){
echo "<p>Il campo Dichiarazione non puo essere vuoto</p>";
$e=1;
}else{
  $e=2;
  }
$foto1 = $_POST['foto1'];
if($foto1 ==""){
echo "<p>Il campo Foto 1 non puo essere vuoto</p>";
$f=1;
}else{
  $f=2;
  }
$foto2 = $_POST['foto2'];
if($foto2 ==""){
echo "<p>Il campo Foto 2 non puo essere vuoto</p>";
$g=1;
}else{
  $g=2;
  }
$foto3 = $_POST['foto3'];
if($foto3 ==""){
echo "<p>Il campo Foto 3 non puo essere vuoto</p>";
$h=1;
}else{
  $h=2;
  }
$allegato1 = $_POST['allegato1'];
$allegato2 = $_POST['allegato2'];
$allegato3 = $_POST['allegato3'];
//ritorno al form
  if($a == 2 && $b == 2 && $c == 2 && $d == 2 && $e == 2 && $f == 2  && $g == 2 && $h == 2 ){
$data_files = addslashes(fread(fopen($_FILES["dichiarazione"]["tmp_name"], "rb"), $_FILES["dichiarazione"]["size"]));
$data_files1 = addslashes(fread(fopen($_FILES["foto1"]["tmp_name"], "rb"), $_FILES["foto1"]["size"]));
$data_files2 = addslashes(fread(fopen($_FILES["foto2"]["tmp_name"], "rb"), $_FILES["foto2"]["size"]));
$data_files3 = addslashes(fread(fopen($_FILES["foto3"]["tmp_name"], "rb"), $_FILES["foto2"]["size"]));
// ESEGUIAMO LA QUERY DI INSERIMENTO
$result = @mysql_query("INSERT INTO sinistri (id,data_ins, data_ril, operatore, descrizione1, descrizione2, descrizione3,lettera_nolo, targa, modello, colore, dichiarazione, foto1, foto2, foto3, allegato1, allegato2, allegato3, size) 
VALUES (NULL,'$data_ins','$data_ril','$operatore','$descrizione1','$descrizione2','$descrizione3','$lettera_nolo','$targa','$modello','$colore','$data_files','$data_files1','$data_files2','$data_files3','$data_files4','$data_files5','$data_files6','" . $_FILES["dichiarazione"]["size"] . "')") 
or die ("<div align=center class=testo> <b>Errore di inserimento utente: ". mysql_error() ."</b></div>");

// ESITO POSITIVO
echo "Il file " . basename($_FILES["dichiarazione"]["name"]) . " è stato correttamente inserito nel Database.";
  } else {
	  echo ' ERROREEEEEEEEEEEEEE';
  }
?>

Mi dice esito positivo ma non mi legge i file.. mi restituisce nel DB sulle colonne dei file questa scritta:

Codice:
[BLOB - 0 B]

Mi sapete aiutare per favore?

Grazie
 

marino51

Utente Attivo
28 Feb 2013
3.035
192
63
Lombardia
scusa se non rispondo direttamente alla tua domanda,
ma sono contrario ad inserire documenti e foto nel db perché la dimensione tende a trascendere, complicando le operazioni di backup, che, credo siano importanti per l'attività che stai trattando
d'altra parte il "file system" è il miglior database per i files in genere
quindi il mio suggerimento è di creare una cartella sinistri (magari associata all'anno) in cui memorizzare le cartelle specifiche di ogni sinistro, con all'interno di ciascuna i propri documenti (che possono non essere limitati dalle colonne che hai definito nel db)
riportando nel db solo l'elenco dei nomi con il relativo path
scusa ancora se non tento di risolvere il tuo problema specifico
ciao
Marino
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
potrebbe essere una soluzione... a quel punto che dovrei fare? a me servirebbe che l'img a quel punto riporti almeno ID e data... e spostarla nella cartella di un percorso..
 

marino51

Utente Attivo
28 Feb 2013
3.035
192
63
Lombardia
puoi creare una cartella con l'id che identifica il "sinistro" ed al suo interno memorizzi tutti i files che hai caricato da form per il sinistro stesso, avendo cura di controllare il buon fine delle operazioni per evitare di trovare successivamente situazioni incomplete
ciao
Marino
 
Discussioni simili
Autore Titolo Forum Risposte Data
Stex1967 Salvare una immagine che si trova su porta TCP 8080 di altro sito PHP 6
L salvare una immagine elaborata in canvas Javascript 1
L salvare una immagine elaborata in canvas Javascript 1
E Salvare immagini PHP 0
L salvare codice html in mysql PHP 3
L salvare somma con sottrazione PHP 1
M Salvare coordinate Maps nel DB PHP 2
D SALVARE "MASCHERA" + "ALLEGATO PDF" IN UN UNICO PDF MS Access 0
A Twitter aggiungere tweet a campagna esistente o salvare pubblico Social Media Marketing 0
D Salvare in diversi campi mysql con diversi ID PHP 0
D [Javascript] salvare immagine canvas - paypal Javascript 0
M Salvare JSONObject in Shared Preference Sviluppo app per Android 0
M [PHP] Salvare campo di una tabella in una variabile PHP 14
S [ASP] SALVARE VALORE SELECT OPTION SU CAMPO TABELLA ACCESS Classic ASP 9
M [PHP] FPDF Salvare su disco C locale Windows PHP 3
C Photoshop CS 6 salvare una modifica Photoshop 0
L [PHP] Salvare csv da form dati PHP 5
A Salvare immagine ridimensionata in MySql con GD PHP 12
G php salvare file in campo blob mysql: massimo 4MB PHP 1
M Salvare pagine web come segnalibro con istruzioni javascript Javascript 0
L Salvare posizione maps Sviluppo app per Android 0
G [PHP] SALVARE RECORD ESTRATTI DA DATABASE PHP 6
D Come salvare scelta della select "dinamica" ajax-php? Come dato php o attributo value tag option? Ajax 5
P [SOLVED] salvare il TCPDF output in mysql e rivisualizzarlo PHP 3
M Salvare i dati nel db e aprire altra pagina php PHP 7
M Form ASP su MsSQL salvare 2 campi in 1 Classic ASP 4
V [PHP] Salvare campo radio in db e leggerlo PHP 15
S [PHP] Salvare dati tabella in formato exel PHP 0
Benix89 Come salvare radio button selezionato Magento 1
Benix89 Salvare radio button selezionato PHP 2
P Come salvare il proprio diario di fb Discussioni Varie 0
P Salvare i dati restituiti dopo autenticazione OAuth2 Javascript 0
M Salvare in tabella link file importato PHP 1
F Cliccare e salvare src immagine HTML e CSS 2
M Cartella predefinita dove salvare i backup PHP 0
P dove si va a salvare il dbase phpmyadm una volta creato ???? Database 0
P dove si va a salvare il dbase phpmyadm una volta creato ???? Database 7
C Salvare il click su di un Button Sviluppo app per Android 9
D salvare righe dinamicamente PHP 3
R Mettere la possibilità di Salvare in un gioco =) Come si fa? Java 2
C Salvare dati form in un file di testo PHP 2
M Salvare select con cookie PHP 1
IImanuII Salvare/recuperare html da un db PHP 5
S Salvare dei dati in una determinata tabella in base al select che l'utente seleziona PHP 8
M salvare una activity e richiamarla Sviluppo app per Android 6
Shyson Salvare impostazioni del Database Database 0
Z Salvare Form su un file .JPG Visual Basic 0
B Salvare dati in locale e sincronizzarli... Javascript 26
P Salvare vari tipi di file in cartelle. PHP 6
V salvare in txt PHP 8

Discussioni simili