php salvare file in campo blob mysql: massimo 4MB

Giulo77

Utente Attivo
15 Mar 2018
30
0
6
46
Ciao a tutti sto utilizzando la libreria dropzone.js con tema bootstrap per salvare dei file con qualsiasi estensione in un db mysql questo il mio codice html:

HTML:
            <div id="container1" class="container" style="width:1270px; border: 4px ridge rgb(93,123,146); border-radius: 10px 10px 10px 10px;">
             <form action="uploadFile.php"  id="dropzone1">   
               <h3 style="margin-top: 8px">Capitolati tecnici</h3>         
               <div class="table table-striped files" id="previews1">
                 <div id="template1" class="file-row dz-image-preview">
                   <div>
                     <span class="preview"><img data-dz-thumbnail></span>
                   </div>
                   <div>
                     <p class="name" data-dz-name style="margin-top:2px !important; margin-bottom:2px !important"></p>
                     <strong class="error text-danger" data-dz-errormessage></strong>
                   </div>
                   <div>
                     <p class="size" data-dz-size style="margin-top:2px !important; margin-bottom:2px !important"></p>
                     <div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0" style="margin-bottom:3px">
                       <div class="progress-bar progress-bar-success" style="width:0%;" data-dz-uploadprogress></div>
                     </div>
                   </div>
                   <div>
                     <button data-dz-remove class="btn btn-danger delete">
                       <i class="glyphicon glyphicon-trash"></i>
                       <span>Cancella</span>
                     </button>
                    </div>
                 </div>
               </div>         
               <div id="actions1" class="row">
                 <div class="col-lg-7" style="margin-bottom:8px">
                   <span class="btn btn-success fileinput-button1 dz-clickable">
                       <i class="glyphicon glyphicon-plus"></i>
                       <span>Aggiungi file</span>
                   </span>
                 </div>     
               </div>
             </form>               
             </div>

Leggendo la documentazione ho implementato il seguente script:

HTML:
               var previewNode1 = document.querySelector("#template1");
               previewNode1.id = "";
               var previewTemplate1 = previewNode1.parentNode.innerHTML;
               previewNode1.parentNode.removeChild(previewNode1);

               var myDropzone1 = new Dropzone("#container1", {url: "uploadFile.php",
                                                              maxFilesize: 50,
                                                              thumbnailWidth: 40,
                                                              thumbnailHeight: 40,
                                                              parallelUploads: 20,
                                                              previewTemplate: previewTemplate1,
                                                              autoQueue: true,
                                                              previewsContainer: "#previews1",
                                                              clickable: ".fileinput-button1"
                                                             });

Posto che non ho capito perchè necessata del parametro url visto che poi è l'action della form che chiama uploadFile.php comunque sia che seleziono un file che molti il php viene chiamato per tutti:

PHP:
include('session.php');

$nome = $_FILES['file']['name'];
$tipo = pathinfo($nome, PATHINFO_EXTENSION);
$dati = addslashes(file_get_contents($_FILES['file']['tmp_name']));
$insuser = mysqli_real_escape_string($connection, $_SESSION['login_name']);
$insdate = date('Y-m-d H:i:s');
 
$sql = "insert into documenti (nome, tipo, dati, insuser, insdate) values ('$nome', '$tipo', '{$dati}', '$insuser', '$insdate')";
if (!mysqli_query($connection, $sql)) {die('Errore inserimento documento: ' . mysqli_error($connection));}
 
mysqli_close($connection);

In ogni caso non sto trattando un "upload" ma sto direttamente salvando il content del file nel db...inizialmente potevo farlo per un max di 2MB, poi vedendo la configurazione del file php.ini ho provato ad aumentare un po' di tutto dove parlava di MB o di byte portando tutto da 64 a 512MB ogni voce e il massimo risultato che ho ottenuto è un file di max 4MB. E comunque dubito che servano parametri di upload, penso più a buffer o post

Ne approfitto per capire il funzionamento: se trascino 3 file vengono salvati direttamente nel DB quindi la post esegue 3 distinte chiamate al mio php?
Per sapere se ha funzionato posso solo fare una query sul db, il die viene bellamente ignorato, mentre se lo uso nelle chiamate ajax funziona sempre e con la stessa sintassi. Dove sbaglio?
In genere con le chiamate ajax posso pilotare un ritorno ma in questo caso non saprei proprio come fare per ad esempio visualizzare un errore con una modal, certo il die basta e avanza perchè è comunque un errore grave quindi accettabile che l'applicazione abortisca.

Dimenticavo sto utilizzando EasyPHP Devserver con php 5
 

marlev

Utente Attivo
19 Apr 2018
80
1
6
marlev.it
Ciao, prova ad aumentare max_allowed_packet di mysql e vedi che in php,ini MB e' riportato anche come M quindi controlla anche post_max_size
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
M [PHP] Salvare campo di una tabella in una variabile PHP 14
M [PHP] FPDF Salvare su disco C locale Windows PHP 3
L [PHP] Salvare csv da form dati PHP 5
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
M Salvare i dati nel db e aprire altra pagina php PHP 7
V [PHP] Salvare campo radio in db e leggerlo PHP 15
S [PHP] Salvare dati tabella in formato exel PHP 0
C Salvare immagini da php in automatico PHP 2
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0

Discussioni simili