php mysql返回代码而不是文件
我在PHP中遇到了一个小问题 其目的是创建一个mySQL数据库,然后创建PHP页面以上载、列出和下载文件 mySQL、上传和列表页面都很好,但是当我尝试下载时,我得到的不是文件、源代码,或者什么都没有 你能帮我认错吗 这是read.php的脚本(用于文件列表)php mysql返回代码而不是文件,php,mysql,file,Php,Mysql,File,我在PHP中遇到了一个小问题 其目的是创建一个mySQL数据库,然后创建PHP页面以上载、列出和下载文件 mySQL、上传和列表页面都很好,但是当我尝试下载时,我得到的不是文件、源代码,或者什么都没有 你能帮我认错吗 这是read.php的脚本(用于文件列表) 文件数据库 Clicca su uno de Segunti文件 您需要使用readfile() 同时将$tmp[titolo]变成{$tmp['titolo']} header("Content-Disposition: attach
文件数据库
Clicca su uno de Segunti文件
您需要使用readfile()
同时将$tmp[titolo]
变成{$tmp['titolo']}
header("Content-Disposition: attachment; filename=\"{$tmp['titolo']}\"");
我建议您更改mysqli的mysql\u*
()mysql_*
已被弃用。除了以上使用PDO而不是mysql_*函数的评论之外,还请注意,用户可以通过SQL注入修改您的完整数据库,因为您不验证mostra.php中的$GET['id']!请注意,不要在生产中使用上述代码。了解如何在字符串中使用变量:“\n”
数组元素需要引号:“内容配置:附件;文件名=\”。$tmp['titolo']。\”
<?php
include ("config.php");
include ("menu.php");
// connessione e selezione del database
mysql_connect('localhost', $userdb, $passdb)
or die('Connessione non riuscita: ' . mysql_error());
if(!mysql_select_db($database))
die('Selezione database fallita!');
// query per recuperare il file
$query = 'SELECT file FROM data WHERE id = '.$_GET['id'];
$risultato = mysql_query($query) or die('Query non valida: ' . mysql_error());
$tmp = mysql_fetch_array($risultato);
// invio una intestazione contenente il tipo MIME
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$tmp[titolo]\"");
// invio il contenuto del file
echo $file;
?>
readfile($file);
exit;
header("Content-Disposition: attachment; filename=\"{$tmp['titolo']}\"");