Salve a tutti!
Ho creato uno script per forzare il download di un file, senza utilizzare dei reindirizzamenti, cioè settando correttamente gli headers e usando readfile, in pratica:
Codice PHP:
<?php
$db = mysql_connect("localhost", "nokiagames", null);
mysql_select_db("my_nokiagames", $db);
$id = isset($_GET["id"]) && is_numeric($_GET["id"]) ? mysql_real_escape_string($_GET["id"]) : null;
$tot = mysql_num_rows(mysql_query("SELECT id FROM clicks", $db));
if(!preg_match("/[0-9]/", $id) || empty($id)) {
exit("Errore, il parametro id può contenere soltanto numeri.");
}
if($id > $tot) {
exit(include("not_found.php"));
}
$q = mysql_query("SELECT id, link, click, titolo FROM clicks WHERE id = '{$id}' ORDER BY id LIMIT 1", $db);
$r = mysql_fetch_array($q, MYSQL_ASSOC);
$bytes = filesize("/membri/nokiagames{$r["link"]}");
$info = pathinfo("/membri/nokiagames/{$r["link"]}", PATHINFO_BASENAME);
header("Content-Type: application/java-archive");
header("Content-disposition: attachment; filename=\"{$info}\"");
header("Content-length: {$bytes}");
readfile("/membri/nokiagames{$r["link"]}");
mysql_close($db);
?>
Il download avviene, ma viene salvato con estensione file_esecuzione_script.php.
Questo non è quello che voglio fare!
Non riesco a capire il problema, come dovrei fare per salvare un file in estensione jar, ad esempio: file.jar
EDIT: risolto, il problema era che $r["titolo"] non coincideva con il nome del file, ho corretto sopra il codice