Это должно быть легко сделать, но я понятия не имею даже после нескольких дней поиска.
Я создал простую веб-форму с помощью PHP, которая позволяет пользователям загружать файлы изображений на сервер, а также информацию, например. дата, имя файла (уникальное, автоматически переименованное при загрузке) и т.д. вводятся в таблицу MySQL create.
Могу ли я узнать, как создать ссылку на "уникальное имя файла", загруженную в поле MySQL при отображении, поэтому, когда пользователь щелкнет, он автоматически откроет сохраненный файл сервера для уникального имени файла?
Цените, если кто-нибудь может мне помочь в этом. Спасибо заранее.
Предполагая, что ваша таблица содержит поля id
, type
(тип MIME) и data
(двоичные данные), это PHP скрипт для этого:
<?php //dispimg.php
//example usage: dispimage.php?id=123
$my = new MySQLi('localhost', 'user', 'pass', 'db');
$sql = sprintf('SELECT type, data FROM table WHERE id="%s" LIMIT 1', $my->real_escape_string($id));
if(!$queryResult=$my->query($sql)){
//query failed, log mysqli_error() somewhere
}
elseif(!$queryResult->num_rows){
header('HTTP/1.1 404 Not Found');
echo 'File not found';
}
else($res=$queryResult->fetch_assoc()){
//optionally, use application/octet-stream instead of a field from database
header('Content-Type: '.$res['type']));
// uncomment following line if you want to present the file as download
//header('Content-Disposition: attachment;filename=download');
echo $res['data'];
}
?>