Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    come è fatta $HTTP_RAW_POST_DATA ?

    Un flash mi invia ad un file php questa variabile che contiene un jpg...

    Riesco a salvare il jpg in una cartella con il comando file_put_contents()

    Io vorrei invece mettere la jpg nel database...

    faccio i soliti passaggi per l`inserimento di un file nel Db, ma il campo che dovrebbe contenere la jpg non si riempie...

    Forse il problema è che $HTTP_RAW_POST_DATA non viene vista come un normale file, ma è qualcosa di diverso...

    Qualcuno sa dirmi come è formata questa variabile? Grazie!!!

  2. #2

    Re: come è fatta $HTTP_RAW_POST_DATA ?

    Originariamente inviato da petrox81
    Forse il problema è che $HTTP_RAW_POST_DATA non viene vista come un normale file, ma è qualcosa di diverso...
    Probabile visto che è una variabile e non un file.

  3. #3
    scusa la domanda stupida, ma l'array files non contiene niente?

    HTTP_RAW_POST_DATA è, letteralmente, TUTTO quello che il webserver riceve via post e dato che l'upload lo fanno i componenti standard di flash te la invieranno in modo standard pure ^^

    comunque, a prescindere, invece di usare file_put_contents, prendi i dati e li inserisci in un campo blob o mediumblob, dipende quanto spazio massimo può occupare un'immagine

    nota: i file molti li inseriscono nel database sotto forma esadecimale o encodati in base64 ... decisamente è una pratica sconveniente

    usando la funzione bin2hex e poi nella query passare i dati con lo 0x davanti, per intenderci

    mysql_query("INSERT INTO tabella (titolo, descrizione, contenuto) VALUES ('titolo', 'descrizione', 0x" . bin2hex($contenuto_del_file) . ")");

    ci sono delle contro indicazioni nel mettere i file su database, ma anche dei vantaggi ovviamente.

    L'unica vera e propria limitazione è la dimensione massima di una query eseguibile che di default è impostata ad 1MB e non so se si può cambiare tramite una query con l'istruzione SET! In pratica se devi uploadare più di 1 mb di dati, decisamente, non conviene utilizzare il database come backend ed in ogni caso salvare i file su database aumenta le risorse necessarie per la visualizzazione dei dati per non parlare poi del fatto che mentre il webserver manca anche gli header corretti per la cache, questo dovresti implementarlo tu ... insomma rischi di appesantire non poco il server su cui risiede il sito, soprattutto se questo è parecchio visitato

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.