Eseguire un download di un file da MySql

Faq di php

Eseguire un download di un file da MySql

Messaggioda alesslud » gio feb 28, 2008 5:11 pm

L'articolo è stato tratto da http://www.php-mysql-tutorial.com/php-mysql-upload.php e poi è stato modificato

La seguente sezione permette il download di un file ad un server MySql senza la necessità di scrivere il file sull'hard disk del vostro spazio web.

Il seguente esempio è solo scolastico e non si garantisce il funzionamento in un ambiente di produzione


Gestisce la pagina di download:
download.php

<?
include 'uploadutil.php';
?>
<html>
<head>
<title>Download di un file da MySql</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?
include 'config.inc.php';

$query = "SELECT id, name FROM upload";
$result = mysql_query($query) or die('Error, query failed');
if(mysql_num_rows($result) == 0)
{
echo "Database is empty <br>";
}
else
{
while(list($id, $name) = mysql_fetch_array($result))
{
?>
<a href="download.php?id=<?=$id;?>"><?=$name;?></a> <br>
<?
}
}
?>
</body>
</html>
Ultima modifica di alesslud il gio feb 28, 2008 5:16 pm, modificato 2 volte in totale.
alesslud
Site Admin
 
Messaggi: 779
Iscritto il: mer nov 08, 2006 8:09 am

uploadutil.php

Messaggioda alesslud » gio feb 28, 2008 5:11 pm

Gestisce il download:

<?
if(isset($_GET['id']))
{
include 'config.inc.php';
$id = $_GET['id'];
$query = "SELECT name, type, size, content FROM upload WHERE id = '$id'";
$result = mysql_query($query) or die('Error, query failed');
list($name, $type, $size, $content) = mysql_fetch_array($result);

header("Content-Disposition: attachment; filename=$name");
header("Content-length: $size");
header("Content-type: $type");
echo $content;
exit;
}
?>
alesslud
Site Admin
 
Messaggi: 779
Iscritto il: mer nov 08, 2006 8:09 am

config.inc.php

Messaggioda alesslud » gio feb 28, 2008 5:12 pm

Imposto la connessione:

<?
// parametri del database
$db_host = "yourhost";
$db_user = "yourusername";
$db_password = "yourpassword";
$db_name = "yourdbname";
$db=mysql_connect($db_host,$db_user,$db_password);
if (!$db) {
echo "Impossibile collegarsi al server Mysql";
exit;
}
$db_name=mysql_select_db("dbname",$db);
if (!$db_name) {
echo "Impossibile selezionare il database";
exit;

}
?>
alesslud
Site Admin
 
Messaggi: 779
Iscritto il: mer nov 08, 2006 8:09 am

Script per la creazione della tabella

Messaggioda alesslud » gio feb 28, 2008 5:13 pm

CREATE TABLE upload (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(30) NOT NULL,
type VARCHAR(30) NOT NULL,
size INT NOT NULL,
content MEDIUMBLOB NOT NULL,
PRIMARY KEY(id)
);
alesslud
Site Admin
 
Messaggi: 779
Iscritto il: mer nov 08, 2006 8:09 am


Torna a Php

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron