Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    47

    Mysql campi x file zip e Immagini

    Ciao a tutti, sono un beginner di msql e ho un quesito.
    Devo creare un database x un market di applicazioni mobile. Ho fatti il modello er, l'ho trasformato nel modello a tabelle e per la presenza della necessità di chiavi esterne e di poter fare rollback ecc ho scelto tabelle innodb anche se poi se mi servirà dovro vedere come risolvere il problema delle ricerche fulltext

    Ho usato Easyphp e con phpmyadmin ho sto creando il database. (QUindi x ora apache, ysql ecc sn tutti in locale)

    Senza entrare nel dettaglio di come è ftto il db l'entità Applicazione ha molti campi (tutti i metadati vari:titolo, numero download, costo ecc), e uno di questi questi campideve puntare al file vero e proprio. Ipotiziamo che il pacchetto dell'applicazione ndroi sia pacchettato in un file zip (ma nn è detto potrebbe anche aavere l'estensione originaale dei file android).
    In un futuro i record della tabella saran creati da una pagina php che in una form chiede di specificare tutto e da un menù sfoglia permetterà di selezionare i percorso della app e caricarla.

    X ora dimentichiamoci di questo e ipotiziamo che io facccia tutto a mano, ovvero da qualche parte butto tutti gli zip delle ie pp e cn phpmymyadmin riempo le taabele. Quelo che nn so è:

    1) Tutti questi zip dove li devo fisicamente mettere ora? In un cartella del mio pc? In un percorso a caso o in qualche punto particolare di dove è installato mysql?

    2)Il campo che ospiterà l'app, o il link all'app (non mi è chiara questa cosa), di che tipo deve essere? Varchar?(e se si qaunto lungo x app che nn supereran i 10 mega) Oppure mime(che non ho ben capito cosa sono)? Oppure Blob anche qui ho dubbi so cosa sian)

    3)Dentro a tale campo cosa mettero?Il percorso dove sta la app tipo c:\myapp\app1zip?

    4)se invece di zip fosser file .ico o. jpeg che tipo dovrei scegliere invece?


    5) Ho trovato questo articolo http://php.html.it/articoli/leggi/85...entro-a-mysql/ che spiega come caricare file direttamente al'interno del db sfruttando blob e mime e codificandli in qualche modo strano è l'approccio corretto (ho letto che è più sicuro ma nel db si salva una mole mostrusosa di roba)? Ci sn diversi questi articoli ma se io volessi invece avere i file all'esterno del db, es in una cartella o che ne so come dovrei fare perchè su questo nn trovo niente......
    le mie domande sopra si riferiscon appunto a come fare questa cosa......


    Grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469

    Re: Mysql campi x file zip e Immagini

    Originariamente inviato da Sgotenks
    ...anche se poi se mi servirà dovro vedere come risolvere il problema delle ricerche fulltext...
    Semplice, non le farai su innodb.
    O usi un motore esterno (es. sphinx), oppure ti tocca "clonare" la tabella innodb in myisam e fare le ricerche su quella clonata
    1) Tutti questi zip dove li devo fisicamente mettere ora? In un cartella del mio pc?
    Dipende.
    Se devono avere un link http "normale" li devi mettere in una sottocartella del sito, e mettere un percorso relativo che, partendo dalla root del sito, vada a finire nel file.
    Se invece NON deve essere accessibile dall'esterno puoi metterli dove vuoi, ma starà all'applicazione "magicamente" predisporre lo scaricamento
    2)Il campo che ospiterà l'app, o il link all'app (non mi è chiara questa cosa), di che tipo deve essere? Varchar?(e se si qaunto lungo x app che nn supereran i 10 mega) Oppure mime(che non ho ben capito cosa sono)? Oppure Blob anche qui ho dubbi so cosa sian)
    Vedo parecchia confusione.

    I casi sono 2:
    - nel db memorizzi il percorso del file, e questo si fa normalmente in un varchar lungo anche 255 caratteri o più (* NB per inciso attenzione qui al charset)

    - nel db memorizzi i file in un campo binario BLOB. I file possono essere quello che vuoi (JPG, EXE, BMP, ZIP), mysql se ne frega.
    Ci sono però degli aspetti da considerare
    1) non è immediato aggiungere file più grandi di 1MB. Questo dipende dalla dimensione predefinita del "pacchettone" mysql: se non lo cambi non puoi caricare qualsiasi cosa
    2) il db ovviamente cresce in misura enorme. Questo può essere un problema se devi farne il backup. Di converso non ti serve fare il backup dei file "a mano" dal file system (se non li metti dentro al db)
    Ci sono quindi pregi e difetti


    3)Dentro a tale campo cosa mettero?Il percorso dove sta la app tipo c:\myapp\app1zip?
    Dipende, vedi punto 1
    4)se invece di zip fosser file .ico o. jpeg che tipo dovrei scegliere invece?
    Nessuno, non cambia niente.


    5) Ho trovato questo articolo http://php.html.it/articoli/leggi/85...entro-a-mysql/ che spiega come caricare file direttamente al'interno del db sfruttando blob e mime e codificandli in qualche modo strano è l'approccio corretto (ho letto che è più sicuro ma nel db si salva una mole mostrusosa di roba)?
    Non ti so dire, non uso praticamente mai php.
    La codifica MIME è sostanzialmente inutile, aumenta di circa il 30% la dimensione; può avere senso per controllare maggiormente gli eventuali backup ASCII.

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.