Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    150

    Fopen a percorso con parametro

    salve a tutti ho una domanda: vorrei rendere disponibile un file per il download solo dopo un'autenticazione.

    pensavo di fare una cosa del genere
    Codice PHP:
    fopen('www.miosito.it/download.php?secret=Stringa_Di_Sicurezza'
    e nella pagina che "riceve" ho messo questo script:
    Codice PHP:
    header('Content-type: application/octet-stream');
    header('Content-Disposition: attachment; filename="prova.zip"');
    ob_clean();
    readfile('prova.zip'); 
    però il tutto non funziona, che mi sono perso?

  2. #2
    Molto semplice: fopen è una funzione che (almeno quando eseguita sullo stesso server del file da aprire), permette di ottenere il contenuto di un file (ricorda che comunque devi fare un fread), nel tuo caso il contenuto della pagina download.php, cioè nient'altro che il codice php che contiene. Ciò che devi fare, dunque, è ottenere il codice della pagina ed eseguirlo, utilizzando un semplice include:
    Codice PHP:
    $_GET["secret"] = "Stringa_di_sicurezza";//Imposto la variabile get che servirà alla pagina download.php
    include("http://www.miosito.it/download.php");//Includo la pagina eseguendone il codice 
    Ricorda solo che la path di prova.zip, non sarà più relativa alla pagina download.php, ma alla pagina che la include.
    Se vuoi evitare questo inconveniente, puoi usare infine un redirect, con la funzione header:
    Codice PHP:
    header("location:[url]http://www.miosito.it/download.php?secret=Stringa[/url] di sicurezza"); 
    In quest'ultimo caso ricorda solo che, dopo "location", devi scrivere l'URL(indirizzo assoluto) della pagina download.php, non la path(indirizzo relativo), perchè in tal caso non potrai passare le variabili get.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    150
    grazie mille!

    p.s. ho scoperto perchè il mio script non funzionava.. mi ero dimenticato di aggiungere il protocollo!

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.