привет я попробовал много исходных кодов для этого, но у меня такая же ошибка во всех них
include 'functii.php';
starts();
opendb();
$query = "SELECT content,`title_real`,`size`,`ext` FROM file WHERE file_id = '3'";
$result = mysql_query($query) or die('Error, query failed');
list($content,$filename,$size,$ext) = mysql_fetch_array($result);
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment; filename=$filename.$ext");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$size);
echo $content;
exit;
проблема заключается в том, что в загруженном файле у меня много "\ 0", которое появилось из ниоткуда. файл хорошо хранится в базе данных. Я тестировал это. спасибо
Это звучит как проблема с кодировкой. Может быть, файл закодирован в UTF-16, и вы показываете его, как если бы он был ASCII.
3 вещи:
В любом другом случае, чем генерация файлов, файлы должны храниться на вашем сервере и могут быть вызваны из вашего БД благодаря пути и имени файла.
Попробуйте:
header("Content-Disposition: attachment; filename = $filename . '.' . $ext");
вместо:
header("Content-Disposition: attachment; filename=$filename.$ext");