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

    Php Mysql [caricare file]

    Salve a tutti.
    Ho un problema nel momento del recupero di un file precedentemente salvato su mysql.
    In pratica, se ad esempio il file "prova.doc" contiene al suo interno immag o tabelle, il file nel momento in cui provo ad aprirlo, dopo avere effettuato il download, mi da errore ed escono solo caratteri strani in corrispondenza delle tabelle o immagini. Lo stesso vale per excel nel quale mi visualizza solo il testo senza la formattazione. Problemi dello stesso tipo con pdf.
    Sapete darmi qualche dritta?
    La parte di codice interessata è la seguente:
    il file che mi permette upload (ometto tutto ciò che non è necessario):
    ....
    if(get_magic_quotes_gpc())
    {
    $dati_file = stripslashes(fread(fopen($_FILES["documento"]["tmp_name"], "rb"), $_FILES["documento"]["size"]));
    }
    else
    {
    $dati_file = fread(fopen($_FILES["documento"]["tmp_name"], "rb"), $_FILES["documento"]["size"]);
    }
    $campoDB = mysql_real_escape_string($dati_file,$link);
    $query ="insert into documenti (codice_condominio,nomefile,type,size,documento,ti po)
    values ('$codice','$filename','". $_FILES["documento"]["type"]."','".$_FILES["documento"]["size"]."',".
    "'$campoDB','documento_assemblea')";
    ...

    il file del download:
    ....
    if(ereg("MSIE ([0-9].[0-9]{1,2})", $_SERVER["HTTP_USER_AGENT"])) {
    header("Content-Type: application/octetstream");
    header("Content-Disposition: inline; filename=$name");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Pragma: public");
    }
    else
    {
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename=$name");
    header("Expires: 0");
    header("Pragma: no-cache");
    }
    echo stripslashes($data)
    }

    Potete darmi una mano?
    Un uomo è vecchio solo quando i rimpianti, in lui, superano i sogni. A. Einstein

  2. #2
    Per caricare il contenuto di un file utilizza http://www.php.net/file_get_contents.

    Anche con magic_quotes_gpc attive, al contenuto del file caricato tramite form upload non applicato l'escape, la chiamata a stripslashes() corrompe il contenuto del file.

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.