Я пытаюсь создать страницу загрузки, которая получает идентификатор файла и генерирует ссылку для загрузки, получая информацию о файлах из базы данных
это вроде работает! по какой-то причине я получаю файл с этой страницы, но на самом деле это не файл!
например, когда я отправляю идентификатор изображения на эту страницу, изображение будет загружено, но оно не откроется, и его размер будет действительно меньше, чем
вот мой код
<?php
require_once('class/comon.php');
require_once('class/db.php');
$file_id = isset($_GET['id']) && (int)$_GET['id'] != 0 ? (int)$_GET['id'] : exit;
$file = comon::get_fileinfo('files' , 'id' , $file_id );
if(!$file) exit;
foreach($file as $file){
$location = $file['location'];
$filename = $file['file_name'];
}
$ext = end(explode('.' , $filename ));
header( 'Pragma: public' );
header( 'Expires: 0' );
header( 'Cache-Control: must-revalidate, post-check=0, pre-check=0' );
header( 'Cache-Control: private', false );
header( 'Content-Type: application/'.$ext);
header( 'Content-Disposition: attachment; filename="'. basename($filename) . '";' );
header( 'Content-Transfer-Encoding: binary' );
header( 'Content-Length: ' . filesize( 'http://localhost/Lancer/attach/'.$location.'/'.$filename ) );
readfile( 'http://localhost/Lancer/attach/'.$location.'/'.$filename );
?>
Я распечатал путь к файлу на странице
echo 'localhost/Lancer/attach/'.$location.'/'.$filename;
и затем я помещаю вывод в URL, и он показывает картинку, так что это не может быть проблемой