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

Discussione: [php] force download

  1. #1

    [php] force download

    'giorno a tutti,

    ho questa funzione di andr3a

    codice:
    function forceDownload( &$file ) {
    	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 = &file_get_contents( $file );
    		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);
    	}
    }
    richiamata con

    codice:
    $myFile = 'prova.doc';
    forceDownload( $myFile );
    funziona perfettamente, mi scarica il mio file di prova ma...quando lo apro word mi richiede l'istallazione di un qualche cosa dal cd di office, se rifiuto, vedo il file tutto bello incasinato, credo sia in binario o qualcosa del genere

    Ho provato anche a scaricare una jpg ma è illeggibile anche questa...ora mi domando...perchè ? e cosa posso fare per ovviare tutto ciò ?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    io credo che sia dovuto a questo:
    codice:
    header( 'Content-Type: application/octet-stream' );
    Questo tipo di mime type è generico... prova a specificare quello corretto a seconda del tipo di file che dai all'utente.

    ciao

  3. #3
    la forceDownload e' una funzione per fare download, senno' non l'avrei chiamata forceDownload , l'avrei chiamata openFile


    se invece di salva fai apri file direttamente, la forceDownload non e' la funzione che ti serve perche' ha un content appositamente forzato a generico proprio per poter permettere di scaricare i files ... questo significa che un browser ( FireFox ) e' in grado lostesso di capire il tipo di file una volta aperto, una schifezza ( IE ) no perche' fa schifo

    soluzione consigliata ?

    2 link, uno per scaricare, uno per leggere il file, sta a te in base all' estensione, gestire questi 2 links.


    Detto questo:
    la funzione e' sotto licenza creative commons, sei pregato di:

    1 - non modificare
    2 - non appropriarti del mio codice
    , dove accidenti sono i mii copyright, commenti o riferimenti ?



    occhio ragazzi che sta' storia comincia veramente a farmi girare le scatole ... e una licenza E' una licenza
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da andr3a
    Detto questo:
    la funzione e' sotto licenza creative commons, sei pregato di:

    1 - non modificare
    2 - non appropriarti del mio codice
    , dove accidenti sono i mii copyright, commenti o riferimenti ?



    occhio ragazzi che sta' storia comincia veramente a farmi girare le scatole ... e una licenza E' una licenza
    Non voglio fare polemica, ma non ho capito... stai scherzando o dici sul serio?


  5. #5
    Originariamente inviato da gianiaz
    Non voglio fare polemica, ma non ho capito... stai scherzando o dici sul serio?
    su cosa dovrei scherzare ?
    su questa mostrata in tutte le pagine di devpro ?
    http://creativecommons.org/licenses/by-nc-nd/2.0/

    sul fatto che mi sbatto dalla mattina alla sera a scrivere codice utile e lo inserisco gratuitamente su uno spazio pagato da me al fine di aiutare la gente spesso irrispettosa che si appropria del mio codice nonostante ci sia la licenza Creatives Common ?

    http://forum.html.it/forum/showthrea...=2#post8721251
    http://forum.html.it/forum/showthrea...=2#post8723871


    HTML.IT ha un diclaimer, i contenuti sono di html.it ed ha anche una Creative Commons ... devpro non ha niente di diverso.

    Se uno copia un articolo di html.it e lo schiaffa sul suo sito spacciandolo per suo e' denunciabile ... nonche' un noto lamer, non e' affatto diverso per gli script, miei o di chi caspita ti pare ... le cose non le sai fare ?
    trovi aiuto nella rete ?
    allora perche' non lasciare i riferimenti alla persona / sito / pagina che ti ha dato tale aiuto ?


    perche' cancelli i commenti ?

    io non ci trovo niente da scherzare ... ma se vuoi possiamo riderci sopra, chiudo devpro o parto con le denunce e saluti a tutti, no ?


    suvvia, non scrivo niente di particolare ... ma se t'e' servito, chi ti autorizza a cancellarmi dal mi ostesso codice ?
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    Originariamente inviato da andr3a
    la forceDownload e' una funzione per fare download, senno' non l'avrei chiamata forceDownload , l'avrei chiamata openFile


    se invece di salva fai apri file direttamente, la forceDownload non e' la funzione che ti serve perche' ha un content appositamente forzato a generico proprio per poter permettere di scaricare i files ... questo significa che un browser ( FireFox ) e' in grado lostesso di capire il tipo di file una volta aperto, una schifezza ( IE ) no perche' fa schifo

    soluzione consigliata ?

    2 link, uno per scaricare, uno per leggere il file, sta a te in base all' estensione, gestire questi 2 links.


    Detto questo:
    la funzione e' sotto licenza creative commons, sei pregato di:

    1 - non modificare
    2 - non appropriarti del mio codice
    , dove accidenti sono i mii copyright, commenti o riferimenti ?



    occhio ragazzi che sta' storia comincia veramente a farmi girare le scatole ... e una licenza E' una licenza
    1 - isognerebbe ne fossi capace
    2 - non mi approprio di nulla i tuo riferimenti non li ho postati qui per non metere codice in + inutile, ma ho specificato che era roba tua

    detto questo, io non devo aprire nulla ma devo scaricare, quello che mi chiedevo è:

    una volta scaricato il file, lo dovrò anche aprire altrimenti che me ne faccio ?

    quando lo apro e corrotto o non leggibile, tutto qui

  7. #7
    Originariamente inviato da serialkiller
    1 - bisognerebbe ne fossi capace
    2 - non mi approprio di nulla i tuo riferimenti non li ho postati qui per non metere codice in + inutile, ma ho specificato che era roba tua

    detto questo, io non devo aprire nulla ma devo scaricare, quello che mi chiedevo è:

    una volta scaricato il file, lo dovrò anche aprire altrimenti che me ne faccio ?

    quando lo apro e corrotto o non leggibile, tutto qui

  8. #8
    Originariamente inviato da serialkiller
    2 - non mi approprio di nulla i tuo riferimenti non li ho postati qui per non metere codice in + inutile, ma ho specificato che era roba tua

    SerialKiller ormai e' tempo che stiamo qui e il mio discorso non e' riferito necessariamente a te che hai scritto, infatti che era mia ... era piu' un discorso in generale, visto che poi c'e' gente che ti dice:
    ma scherzi ???

    ... no, si chiama rispetto e non scherzo.
    se vuoi postare un mio codice posta il link, se lo ricopi postalo intero, con tanto di commenti, senno' arriva il primo "geniaz" di turno che copia e incolla e addio riferimenti ( geniaz tu magari non lo fai, ma altri invece si ) .

    Cerca di capire che non ce l'ho con te in generale ma che in generale gradirei fosse rispettato il codice con tanto di credits ... poi puoi anche dire che fa schifo, non funziona o e' una cavolata ... non mi interessa, purche' sia completo di riferimenti.

    Ok ?



    Tornando in tema, mi posteresti il link a questo fantomatico file che non si riesce piu' ad aprire ?

    Mai successa una cosa analoga, migliaia di utenti sfruttano sta' funzione da tempo e non mi e' stata fatta mai una lamentela a riguardo o segnalato questo problema.

    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da andr3a
    su cosa dovrei scherzare ?
    su questa mostrata in tutte le pagine di devpro ?
    http://creativecommons.org/licenses/by-nc-nd/2.0/

    sul fatto che mi sbatto dalla mattina alla sera a scrivere codice utile e lo inserisco gratuitamente su uno spazio pagato da me al fine di aiutare la gente spesso irrispettosa che si appropria del mio codice nonostante ci sia la licenza Creatives Common ?

    http://forum.html.it/forum/showthrea...=2#post8721251
    http://forum.html.it/forum/showthrea...=2#post8723871


    HTML.IT ha un diclaimer, i contenuti sono di html.it ed ha anche una Creative Commons ... devpro non ha niente di diverso.

    Se uno copia un articolo di html.it e lo schiaffa sul suo sito spacciandolo per suo e' denunciabile ... nonche' un noto lamer, non e' affatto diverso per gli script, miei o di chi caspita ti pare ... le cose non le sai fare ?
    trovi aiuto nella rete ?
    allora perche' non lasciare i riferimenti alla persona / sito / pagina che ti ha dato tale aiuto ?


    perche' cancelli i commenti ?

    io non ci trovo niente da scherzare ... ma se vuoi possiamo riderci sopra, chiudo devpro o parto con le denunce e saluti a tutti, no ?


    suvvia, non scrivo niente di particolare ... ma se t'e' servito, chi ti autorizza a cancellarmi dal mi ostesso codice ?
    Ok, ok, ho chiesto solamente, solo (scusa se te lo dico) a me non sembrava ci fosse nulla di particolare in quella funzione.

    Capisco il tuo ragionamento e lo rispetto, solo che mi è sembrato un po' eccessiva come reazione...

  10. #10
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da andr3a
    ... no, si chiama rispetto e non scherzo.
    se vuoi postare un mio codice posta il link, se lo ricopi postalo intero, con tanto di commenti, senno' arriva il primo geniaz di turno che copia e incolla e addio riferimenti.
    bhe adesso mi incazzo.

    Ho solo chiesto e con toni gentili.
    Non ho detto che tu sia in torto nè me ne fotte di fregarti il codice.

    Se voglio me lo scrivo da solo o reperisco le informazioni da php.net, come probabilmente a suo tempo hai fatto anche tu, e ora fai lo schizzinoso se uno copia e incolla del codice che non fa niente di speciale.

    Poi comunque io ripeto non ti ho dato torto, se ce l'hai con qualcuno non prendere me come bersaglio.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.