ho uno script che dovrebbe servire a scaricare un file da una pagina
le info del file sono tutte in database: nella tabella downloads ho
id|name|descr|url
come link di richiamo ho:
Codice PHP:
<?
while ($row = mysql_fetch_array($b))
{ ?>
[b][url="do_downl.php?nome=<?=$row['name']?>"]<?=$row['name']?>[/url]
[/b]<?=$row['descr']?> <hr>
<? } ?>
ovviamente i nomi dei file finiscono con un estensione!
nella pagina do_downl.php ho il listato:
Codice PHP:
<?
session_start();
if (isset($_SESSION['user'])){
$nome = $_GET['nome'];
header("Content-Typ:file");
header("Content-Disposition:attachment; filename=$nome");
$fp = fopen("$nome","r");
fpassthru($fp);
fclose($fp);
} else {
?>
<script language=javascript>
alert("Non disponi di diritti sufficienti per scaricare il file\nVerrai rimandato alla pagina di login");
document.location.href="login.php";
</script>
<?
}
?>
Come mai non funziona??
o meglio
quando tento di scaricare il file mi scarica una pagina html che contiene un warning:
codice:
Warning: fopen(ciao.txt): failed to open stream: No such file or directory in e:\programmi\easyphp1-8\www\do_downl.php on line 8
Warning: fpassthru(): supplied argument is not a valid stream resource in e:\programmi\easyphp1-8\www\do_downl.php on line 9
Warning: fclose(): supplied argument is not a valid stream resource in e:\programmi\easyphp1-8\www\do_downl.php on line 10