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

    problema con download files

    ciao a tutti, ho problemi con il download di un files qualsiasi (che viene salvato in una cartella senza estensione e un numero progressivo come nome) e poi per farlo scaricare uso questo script

    Codice PHP:
    $db = new MySQLConn (DB_HOST,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
    $result mysql_fetch_array($db->db_query("SELECT * FROM rifugiati_files WHERE id = '".$_GET["id"]."'"));
    $name $result[file_name];
    $type $result[file_type];
    $id $_GET["id"];
    $file "$_SERVER[DOCUMENT_ROOT]/rifugiati/files/$id";
    header ("Content-Type: application/octet-stream");
    header ("Content-Disposition: attachment; filename=$name");
    header ("Content-Length: " filesize($file));
    readfile($file); 

  2. #2

  3. #3
    [supersaibal]Originariamente inviato da andr3a
    http://www.devpro.it/php4_id_72.html [/supersaibal]

    grazie

  4. #4
    nulla, i files continuano a contenere errori

  5. #5
    sto facendo un po' di prove varie ma nulla

  6. #6
    $db = new MySQLConn (DB_HOST,DB_USERNAME,DB_PASSWORD,DB_DATA
    BASE);

    $result = mysql_fetch_array($db->db_query("SELECT * FROM rifugiati_files WHERE id = '".$_GET["id"]."'"));

    $name = $result[file_name];

    $type = $result[file_type];

    $id = $_GET["id"];

    $file = "$_SERVER[DOCUMENT_ROOT]/rifugiati/files/$id";
    forceDownload( $file );


    se questo non va o metti altri headers prima che pasticciano, oppure il file e' corrotto e non puoi farci niente
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    [supersaibal]Originariamente inviato da andr3a
    $db = new MySQLConn (DB_HOST,DB_USERNAME,DB_PASSWORD,DB_DATA
    BASE);

    $result = mysql_fetch_array($db->db_query("SELECT * FROM rifugiati_files WHERE id = '".$_GET["id"]."'"));

    $name = $result[file_name];

    $type = $result[file_type];

    $id = $_GET["id"];

    $file = "$_SERVER[DOCUMENT_ROOT]/rifugiati/files/$id";
    forceDownload( $file );


    se questo non va o metti altri headers prima che pasticciano, oppure il file e' corrotto e non puoi farci niente [/supersaibal]

    il file non può essere corrotto perchè se lo scarico con ftp e lo rinomino nn mi dà problemi

  8. #8
    ma che tipo di file e' ???
    che versione di PHP hai ?

    l' unica cosa che mi viene in mente e' che il file_get_contents non riesca a leggerlo bene, vuoi perche' e' un dato binario o encodato in modo particolare, vuoi per altro ... magari e' un file nato "troncato" ... uhm, prova questa e dimmi se cambia qualcosa ...

    codice:
    function forceDownload( &$file ) {
    	/**
    	 * Function forceDownload:
    	 *	download any type of file if it exists and is readable
    	 * -------------------------------------
    	 * @author		Andrea Giammarchi
    	 * @date		24/02/2005
    	 * @compatibility	PHP >= 4.3.0
    	 */
    	if( file_exists( $file ) == true && is_readable( $file ) == true ) {
    		$filename = &basename( $file );
    		if( strpos( $_SERVER['HTTP_USER_AGENT'], 'MSIE' ) !== false ) {
    			$parsename = &explode( '.', $filename );
    			$last = count( $parsename ) - 1;
    			$filename = &implode( '%2E', array_slice( $parsename, 0, $last ) );
    			$filename .= '.'.$parsename[$last];
    		}
    		$content = '';
    		$fo = &fopen( $file, 'rb' );
    		while( !feof( $fo ) ) {
    			$content .= fgets( $fo );
    		}
    		fclose( $fo );
    		header( 'Content-Type: application/octet-stream' );
    		header( 'Content-Disposition: attachment; filename='.$filename );
    		header( 'Content-Length:'.strlen( $content ) );
    		header( 'Content-Transfer-Encoding: binary' );
    		echo $content;
    		exit(0);
    	}
    }
    ultima domanda .... di che dimensione e' il file ??
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    tutto risolto

    il fatto è che FireFox mi riconosceva dei mime-type sbagliati, quindi andava a meretrici tutto...e penso che fosse anche colpa della cache, dato che poi ho provato su un firefox di un altro computer e anche IE (sul mac nn ho provato con safari) e funzionava tutto



  10. #10
    [supersaibal]Originariamente inviato da Ratatuia
    tutto risolto

    il fatto è che FireFox mi riconosceva dei mime-type sbagliati, quindi andava a meretrici tutto...e penso che fosse anche colpa della cache, dato che poi ho provato su un firefox di un altro computer e anche IE (sul mac nn ho provato con safari) e funzionava tutto


    [/supersaibal]
    funzionava con la mia funzione ?

    si comunque firefox la cache se la tiene un po' troppo stretta ..
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.