allora hai una pagina dove c'è un form e chiamata form_down.php con il codiceOriginariamente inviato da Toniello
..
Vorrei chiedervi come potrei fare, in PHP, per far scaricare un file all'utente, senza che esso scopra l'url.
.......................................
Antonio
dal sorgente della pagina si legge a quale file (zip.php) vengono passati i dati. Ma non viene lettocodice:<?php session_start(); $_SESSION['parola'] = "ecco"; ?> <form action="zip.php" method="post"> <input type="submit" value="scarica zip" /> </form>
nè il nome della sessione, nè il valore.
Nella pagina zip.php
ciaocodice:<?php session_start(); //viene passata la sessione // se arrivano a questa pagina avendo copiato ed incollato l'indirizzo vengono reindirizzati // se non arrivi tramite un form con method post // se non c'è la sessione chiamata parola ed il cui valore è ecco // vieni reindirizzato if($_SERVER['REQUEST_METHOD'] != 'POST' OR !$_SESSION['parola'] OR $_SESSION['parola'] !="ecco" ) { header("location: form_down.php"); exit(); } // la sessione resta attiva ed allora ..... $_SESSION = array(); // la sessione diventa un array vuoto; $_SESSION['parola'] = FALSE; //ulteriore cautela session_regenerate_id("delete_old_session"); // per paranoici header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header('Content-type: application/zip'); header('Content-Disposition: attachment; filename="NOME.zip"'); header("Content-Transfer-Encoding: binary\n"); header('Pragma: public'); readfile('original.zip'); exit(); ?>

Rispondi quotando