Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    inserire file pdf in mysql

    Salve a tutti,
    ho la necessità di archiviare in un db mysql dei file pdf che sono presenti in una cartella del server.
    Come faccio a selezionare i file tramite un upload del form?
    è possibile inviare un file in un db mysql leggendo il contenuto della cartella?
    grazie

  2. #2
    Per selezionare il file puoi prima recuperarne i nomi e poi inserirli in una dropdown; all'invio del form leggi il file e lo scrivi nel db (il campo deve essere di tipo BLOB se ricordo bene).

    Detto questo però...perchè salvare in un DB dei file? Avrai le tue motivazioni, per carità, ma io personalmente lo sconsiglio sempre perchè in breve tempo ci si può trovare con un db enorme!
    Se lo scopo è fare una sorta di backup, meglio seguire altre soluzioni NON php (ovvero direttamente da un crontab)


  3. #3
    Forse vorresti recuperarli dal db? per poi visualizzarli nel tuo sito?

    se fosse così, dovresti inserire il link ( il percorso) nel db e non il file! per poi richiamarlo da php!

  4. #4
    Utente di HTML.it L'avatar di hyde82
    Registrato dal
    Feb 2010
    Messaggi
    243
    Detto questo però...perchè salvare in un DB dei file? Avrai le tue motivazioni, per carità, ma io personalmente lo sconsiglio sempre perchè in breve tempo ci si può trovare con un db enorme!
    pienamente daccordo.Se perdessi il db perderesti anche i pdf.Ti conviene tenerli nel filesystem e rintracciarne il Path con php

  5. #5
    innanzitutto grazie per le risposte,
    ho già affrontato il problema dell'inserimento del file nel DB e sono giunto alla conclusione che è, prendendo i giusti accorgimenti, il metodo che + si addice a quello che dovrei fare.

    Detto questo, però il mio problema rimane, io riesco a recuperare i nomi e ad inserirli in un dropdown, ma come faccio ad inserirli nel db tramite form?

  6. #6
    Utente di HTML.it L'avatar di hyde82
    Registrato dal
    Feb 2010
    Messaggi
    243
    bè hai già pensato alla struttura della tabella che conterrà le informazioni?

  7. #7
    si, funziona tutto alla perfezione, io prima avevo un form che conteneva un campo type="file", l'utente sceglieva il file inseriva altri dati e tutto andava a finire del db. Ora devo apportare un cambiamento e cioè, i file da inserire nel db non risiedono più nel pc "utente" ma sul server.

    il procedimento che ho seguito all'inizio era quello di sostituire il campo type="file" con una select che mi contenesse i nomi dei file presenti nella cartella.....solo che non so come inserire il file nel db con questo procedimento...spero di essermi spiegato
    grazie

  8. #8
    Utente di HTML.it L'avatar di hyde82
    Registrato dal
    Feb 2010
    Messaggi
    243
    l'applicazione sia prima che dopo girara su un server dislocato,giusto?se così fosse anche prima i dati risiedevano sul server.Tu vuoi creare uno script che uppa un file...solo che invece di tenere i pdf in un cartella del server ,li vuoi Blobbati in un campo del DB(scelta poco sagggia),giusto?

  9. #9
    l'applicazione sia prima che dopo girara su un server dislocato,giusto?
    esatto


    se così fosse anche prima i dati risiedevano sul server.
    No prima i file da "Blobbare" risiedevano sui singoli pc che si collegavano al server, erano file in locale, ora invece i file risiedono su una cartella del server.

    Io vorrei inserire un file, che risiede nel server dove girano gli script, in un db mysql...o come dici tu blobbare....

    ps: dici che è poco saggia la scelta solo perchè se perdo il db perdo tutti i file o per qualche altro motivo?

    grazie

  10. #10
    Utente di HTML.it L'avatar di hyde82
    Registrato dal
    Feb 2010
    Messaggi
    243
    "non saggio" perchè potresti trovarti con utenti che cercano di fare query importando file di dimensioni più grandi di solito e rallentando tantissimo il db(anche se il data blob non usa buffer prima di tirarli dentro il db e viceversa).Ad ogni modo io ho uno script che fa una cosa simile.....ma i dati uppati risiedono in una cartella "media" sul server.
    Il flusso è più o meno questo:
    -riempio le informazioni del form ,allegando il file pdf;
    -il form invia le informazioni ad una classe o file.php che:
    0)definisce il PATH per il file pdf.
    1)analizza la matrice POST(o GET se usi get);
    2)effettua una validazione delle informazioni;
    3)istanzia una connessione al database;
    4)prepara la query di inserimento associata ai valori inseriti nel form(eccetto per il file pdf);
    5)catturo la data e l'ora corrente(puoi utilizzare un datetime o addirittura un token)..ti servirà per reperire il file;
    6)eseguo la query inserendo o aggiornando un campo del db che chiamerò token o altro.
    7)se la query va a buon fine catturo il file ,lo rinomino con il token generato associandovi semmai anche un campo di riferimento e lo copio nella cartella "media" del server.
    tutto qua...se vuoi vedere un po' di codice no probl....non l' ho scritto per non snaturare quello che probabilmente già esiste.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.