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

    [php] update file binario

    Buon giorno a tutti,



    ho un db in cui un campo è un mediumblob in cui vado a inserire una immagine, e tutto funziona alla perfezione.

    ora stavo lavorando alla parte ke mi permetta di modificare i dati del tot record, compresa la foto, ke puo' essere modificata o meno.

    ho fatto una cosa del genere :

    codice:
    if($_FILES["file_binario"]["tmp_name"]){
    $data = addslashes(fread(fopen($_FILES["file_binario"]["tmp_name"], "rb"), $_FILES["file_binario"]["size"]));
    }else{
    $data = $riga_m['file_binario'];
    }
    controllo se è stato caricata un immagine, se si assegno il tutto alla variabile $data altrimenti gli riassegno il vekkio valore preso da db $riga_m['file_binario'], assegnando il valore pre esistente nel campo

    ovviamnete non và bene, perkè mi da errore

    sapreste darmi una mano per favore ?

    NB: visto ke sono coscente di non spiegarmi benissimo, se avete dubbi domandate pure

    Grazie

    SK

  2. #2
    ci sono due errori.. il primo è che è inutilissimo fare l'update di un camo reinserendoci il vecchio valore.. almeno nel caso di un file è sicuramente troppo lavoro inutile in più...

    il secondo è che così non controlli neanche che tipo di file ti viene inviato...

    ti conviene fare una cosa del genere:

    Codice PHP:
    if(isset($_FILES['foto']['tmp_name']))
     {
       
    $visualizzabili = array("image/jpeg""image/pjpeg""image/gif""image/png");
       if(!
    in_array($_FILES['foto']['type'], $visualizzabili
       {
         echo 
    "Il file non è di tipo immagine, o non è un'immagine compatibile con il web.
     (nome file: 
    {$_FILES['foto']['tmp_name']} tipo file: {$_FILES['foto']['type']})";
         exit;
        }

      
    //fai update di tutto il record
     
    }
    else 
    //fai update solo degli altri campi 

  3. #3
    prima di tutto grazie della risposta

    il discorso ke fai è giustissimo e già pensavo di aggiungerlo alla fine, dato ke ora lo uso io per prova, poi metterò anke il controllo, il mio problema è ke mi dà errore nella query.

    durante la pausa pranzo, pensavo ke fosse inutile controllare se ho inviato o meno un file da sostituire e in caso non avessi inviato, rimettere il precedente, basta non mettere nella lista deglu update il file binario e risolta li, senza query inutili....

    se c'è bene, cariko, se non c'è non mi pongo nemmeno il problema

    perfetto

    per adesso sto provando a modificare tutto tranne l'immagine, ovvero non modifico l'immagine e nella query non viene considerata

    ma la query mi dà errore

    premessa..la query è dinamika, nel senso ke la creo ad oc ogni volta

    accodo tutti i valori nella giusta sequenza compresi i comandi SQL e mi dà errore

    Errore nella query:
    You have an error in your SQL syntax.
    Check the manual that corresponds to your MySQL server version
    for the right syntax to use near
    'UPADTE Prodotti_Italiano SET nome_prodotto="Prova prodotto 1555

    ??

  4. #4
    'UPADTE ????

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Ferma tutto

    'UPADTE Prodotti_Italiano SET nome_prodotto="Prova prodotto 1555
    UPADTE

    UPDATE semmai

    ke rinco

    adesso mi manca il file

  6. #6
    Originariamente inviato da piero.mac
    'UPADTE ????
    infatti me ne sono accorto solo ora ho scritto in frettofilo cirilliko

    come dicevo sopra adesso mi manca solo il file

  7. #7
    non riesco

    se non metto un file nuovo, tutto ok

    se meto un file non mi konsidera nulla ?

    pratikamente la query la costruisco kosì

    codice:
    "UPDATE ".$tabella." SET ".$prod_qp." WHERE id=".$_REQUEST['id'];
    non va bene ?

    sorry ma io con sti file binari non ho ankora una gran padronanza

  8. #8
    SET ".$prod_qp."

    dice nulla. il SET deve essere "chi = qualcosa"

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Originariamente inviato da piero.mac
    SET ".$prod_qp."

    dice nulla. il SET deve essere "chi = qualcosa"
    in $prod_qp e accodato tutto, infatti se non cariko anke la foto funziona

    $prod_qp contiene tutta la sintassi accodata tipo :

    a="pippo", b"pluto", ecc,ecc

    e sto maledetto file ke mi rimane tra capo e collo :master:

  10. #10
    E allora stampa la query e vedi come viene risolta.

    $var = "UPDATE ".$tabella." SET ".$prod_qp." WHERE id=".$_REQUEST['id'];

    echo $var;

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.