Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Inviare foto a db

  1. #1

    Inviare foto a db

    Ciao, ho un form che dovrebbe inviare alcuni dati più 3 immagini al mio database: i campi in cui sono inserite le foto si chiamano rispettivamente foto1, foto2 e foto3.

    Il form è settato in enctype="multipart/form-data" e invia correttamente tutti i dati di tipo "testuale" al db. Però non so come muovermi per l'invio delle foto al db. So solo che il campo del db in cui andrà la foto va impostato in blob...per il resto non saprei come fare. Potete darmi una mano? uso php e mysql

  2. #2
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    la foto va uppata in una cartella e nel form va scritto il suo percorso (cartella/nomefile.xyz)
    If you think your users are idiots, only idiots will use it. DropBox

  3. #3
    è possibile fare delle prove in locale o devo per forza farlo in remoto?

  4. #4
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    anche in locale
    If you think your users are idiots, only idiots will use it. DropBox

  5. #5
    Originariamente inviato da homerbit
    la foto va uppata in una cartella e nel form va scritto il suo percorso (cartella/nomefile.xyz)
    Beh dipende.....
    Salvarla in una cartella e salvare il percorso nel db
    oppure
    salvare direttamente l'immagine in un campo blob del db
    sono due soluzioni differenti....

    Non c'è una soluzione migliore a priori bisogna vedere l'archittura generale del progetto che stai sviluppando...

    tieni presente che se salvi il percorso nel DB dovrai accedere prima al db per cercare il percorso e poi dovrai accedere al filesystem per ottenere l'immagine e se lo devi fare in maniera massiva per decine di immagini non è il massimo

    se vuoi scrivere il blob fa una cosa tipo:

    $filedata= get_file_contents(....)

    e poi scrivi nel blob

    INSERT INTO <tab> VALUES ($filedata)

    facendo eventualmente qualche controllo primo della insert sul formato dei dati

  6. #6
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    si philbert, pensavo volesse delucidazioni sul seplice upload
    If you think your users are idiots, only idiots will use it. DropBox

  7. #7
    vorrei prima inviarle in una cartella e poi mandare il path al database. Però non so come fare. Inviando al db dati blob non ci sono problemi, ci riesco tranquillamente.....però a questo punto mi chiedo anche quale sia davvero fra i due il metodo più conveniente se si ha la necessità di archiviare un gran numero di immagini...in giro ho letto opinioni diverse

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2011
    Messaggi
    27
    io le carico le sposto dentro una cartella e mi segno il nome della foto a db non la path,la path la salvi in una costante o variabile in php .
    Cosi quando le tiri fuori dal db le visualizzi tramite
    codice:
    [img]<?php echo $upload_path.$db_img; ?>[/img]
    Secondo te .... il giorno in cui vuoi cambiare path alle foto uploadate, ti viene piu comodo cambiare una riga di php o un database di path?

    Di solito poi se non ho altri tipi di esigenze, rinomino le foto caricate con l'ID o comunque l'identificatore del record nel db.

    Per salvarsi il nome dell'immagine uso un campo VARCHAR (55) di solito, anche li se permetti di uploadare foto con nomi lunghi 500 caratteri son cavolini tuoi, meglio sempre rinominarle o tagliare corto con i nomi dei file

  9. #9
    Originariamente inviato da rikardinho90 il metodo più conveniente se si ha la necessità di archiviare un gran numero di immagini...in giro ho letto opinioni diverse
    se in giro hai letto opinioni differenti vuol dire che hai letto le opinioni sbagliate... non puoi intasare il db di campi blob stracarichi di foto, collassi tutto. Archivia le foto sul filesystem e le path nel db
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  10. #10
    il metodo più conveniente se si ha la necessità di archiviare un gran numero di immagini...in giro ho letto opinioni diverse
    Se hai letto opinioni diverse è perché non esiste il metodo pù conveniente in assoluto...
    come sempre dipende da diversi fattori:

    - che immagini sono (da 50Kb o da 10Mb o da 100MB?)
    - che database usi (Access o MySQL o Orace?)
    - è più potente il server dove gira l'applicativo PHP o quello dove gira il Database?
    - Le immagini devo essere lette da altre fonti che magari hanno accesso solo al DB e non al filesystem?
    ecc. ecc. ecc.


    @Santino83: guarda che un database mica collassa per l'uso, anche massivo, dei campi blob...cioè voglio dire è fatto apposta! Magari se usi in maniera massiva dei campo LONGBLOB allora sì inizia a stressarsi...

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.