Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509

    [PHP]problema:gestire download file enormi.

    Ciao a tutti.
    come al solito torno a scocciarvi con i miei problemi.
    mi servirebbe una dritta/consiglio/suggerimento per gestire il download di file enormi.

    i file in questione sono file mp3(in teoria) da anche 80 mb.
    è possibile gestirli?

    più che altro essendo file veramente grandi volevo cercare di dare la possibilità di riprendere il download del file in diversi momenti, inoltre sarebbe bello capire se il download alla fine è stato concluso o meno.

    ero partito da un semplice script che forzava il download impostando l'header
    e poi con readfile() e foef() andavo a controllare se tutto è ok e mi segnavo che il download era andato a buon fine.

    ma adesso che son comparsi questi file da 80 mb ho qualche dubbio che funzioni tutto come era designato.

    vorrei abilitare il tutto in modo che se il download si interrompe non sono costretto a rincominciare da zero(specie perchè con la voga delle chiavette internet al posto dell'adsl la banda è molto variabile e a volte arriva a 380Kb/s o anche meno...)

    qualche suggerimento?

    grazie in aticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    temo non sia un problema risolvibile server-side (nè via PHP nè tramite alcun altra tecnologia), ma che richieda piuttosto un download manager (anche scritto di tuo pugno), come ce ne sono diversi fatti in java e/o altri linguaggi di programmazione (non faccio nomi di prodotti specifici per questioni di regolamento).
    Ciao.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    cosa intendi per scrivere di mio pugno un download menager? creare una cosa tipo filezilla o il vecchio getright?

    sinceramente sono un po perplesso.
    molte volte scarico demo di videogiochi dai vari siti e si parla di dimensioni che vanno dai 50 ai 300 mb ma non vengono usati programmi di gestione esterni o altro. compare semplicemente la finestrella di explorer.

    adesso sinceramente non saprei se dietro ci sia un programma che gestisca il download integrato al browser che faccia comparire la finestrella classica (non so nemmeno se sia realizzabile un lavoro del genere)

    o se semplicemente abbiano impostato un timeout per il download del file quando questo viene scaricato.

    non metto in dubbio ciò che mi hai scritto, sia chiaro.
    solo vorrei capire come fanno in certi siti che sembra mettano il link diretto e chi si è visto si è visto. senza tanti problemi e senza un sistema per far ripartire il download dal punto in cui uno ha interrotto.

  4. #4
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Potresti cambiare il timeout del file php.ini per gli scripts di solito è 30 secondi e credo che questo blocchi il tuo donwload. Oppure gestire cm dice con dei sockets l'invio del file, bhe a questo punto è meglio un P2P. Credo.
    Per gli Spartani e Sparta usa spartan Il mio github

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    se è solo un problema di timeout, e non di riprendere il download, allora set_time_limit (se ti è concesso usarlo) lo imposti a 0 (che corrisponde a nessun limite, e non a tempo di esecuzione 0) e poi mandi lo script che forza il download del file.

    Magari qualcosa di simile:
    http://w-shadow.com/blog/2007/08/12/...load-with-php/
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    il fatto è che questi file non sono scaricabili apertamente.

    sono file accessibili solo ad alcuni utenti, utenti diversi possono scaricare file diversi previa autorizzazione e il download parte tramite script.

    tipo download.php?file=nomefile

    mentre l'url corretto è memorizzato nel db.

    e tutto per evitare di far prelevare o vedere i file a chi non deve.

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Originariamente inviato da nexus
    il fatto è che questi file non sono scaricabili apertamente.

    sono file accessibili solo ad alcuni utenti, utenti diversi possono scaricare file diversi previa autorizzazione e il download parte tramite script.

    tipo download.php?file=nomefile

    mentre l'url corretto è memorizzato nel db.

    e tutto per evitare di far prelevare o vedere i file a chi non deve.
    http://w-shadow.com/blog/2007/08/12/...load-with-php/

    Poi te la freghi tu su come gestire i file sul server (normalmente li metti in un percorso non raggiungibile via web, ovvero, esterno alla radice del sito - altrimenti l'hot linking sarà comunque possibile)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    per il download diretto e di togliere il limite lo avevo gia ipotizzato e ora sto cercando di recuperare un file sui 130mb per fare delle prove( a me in realtà basta 80 ma non si sa mai.)

    mentre leggevo qualcosa sul caching e sul $_SERVER['HTTP_RANGE'] che dovrebbe permettere di recuperare informazioni sullo stato del download

    http://www.icosaedro.it/articoli/php...d.html#caching

    solo che non riesco a trovare qualcosa di esauriente .

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.