ciao a tutti sto creando un sito dove è possibile scaricare dei file txt,pdf, word, exel che vengono caricati dagli utenti...
Il problema è il download perchè l'upload funziona e carico i file come medimblob...
i codici sono:
index.php
Qui è dove passo il mio file alla pagina download che dovrebbe scaricare i file...
download.php
grazie in anticipo per l'aiuto spero di essere stato chiaro...
Il problema è il download perchè l'upload funziona e carico i file come medimblob...
i codici sono:
index.php
PHP:
Appunto: <?
$getid=$_GET['id'];
$result = mysql_query("SELECT * FROM tabella_appunto where id='$getid'");
while($row = mysql_fetch_array($result)){
$file = $row['appunto'];
}
echo "<a href=\"download.php?file={$file}\">".$riga["nome"]."</a><br />";?>
Qui è dove passo il mio file alla pagina download che dovrebbe scaricare i file...
download.php
PHP:
<?php
function download($file) {
$file = realpath($file);
if(headers_sent()) {
echo "Headers già inviati!";
return false;
}
else if(!file_exists($file)) {
echo "Il file da scaricare è inesistente!";
return false;
}
$mime_types = array(
"exe" => "application/octet-stream",
"html" => "text/html",
"ico" => "image/x-icon",
"jpeg" => "image/jpeg",
"png" => "image/png",
"jpg" => "image/jpeg",
"txt" => "text/plain",
);
$bytes = filesize($file);
$info = pathinfo($file);
$ext = strtolower($info["type"]);
$mt = isset($mime_types[$ext]) ? $mime_types[$ext] : "application/octet-stream";
header("Content-Transfer-Encoding: binary");
header("Content-Type: {$mt}");
header("Content-disposition: attachment; filename=" . $info["appunto"] . "." . $info["type"]);
header("Content-length: {$bytes}");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: public");
return readfile($file);
}
if(isset($_GET["file"])) {
$file = str_replace(array(".", ".."), null, $_GET["appunto"]);
download($file);
}
?>
grazie in anticipo per l'aiuto spero di essere stato chiaro...
Ultima modifica di un moderatore: