mysql — отображает изображение из PHP, используя header и echo

Для школьного проекта я должен сохранить изображения в базе данных MySQL и затем показать эти изображения на веб-сайте. Для этого я использую следующий код для сохранения изображений:

$link = $link = new PDO('mysql:host=localhost;dbname=myDatabase', 'root', '');

$user = $_POST['user'];
$image = [];

$image = $_FILES['file'];
$image['string_scape'] = $link->quote(file_get_contents($_FILES['file']['tmp_name']));

$link->query('INSERT INTO userImage VALUES(NULL, "'.$image['string_scape'].'", "'.$image['type'].'", '.$image['size'].', '.$user.', NOW())') or die (print_r($link->errorInfo()));

$link = null;

Это таблица, которую я сделал для изображений:

+------------+----------+------+-----+---------+----------------+
| Field      | Type     | Null | Key | Default | Extra          |
+------------+----------+------+-----+---------+----------------+
| ID         | int(11)  | NO   | PRI | NULL    | auto_increment |
| File       | longblob | NO   |     | NULL    |                |
| Type       | text     | NO   |     | NULL    |                |
| Size       | int(11)  | NO   |     | NULL    |                |
| User       | int(11)  | NO   |     | NULL    |                |
| Date_added | datetime | NO   |     | NULL    |                |
+------------+----------+------+-----+---------+----------------+

И чтобы показать изображения, я использую следующий код:

//PHP file "show-image.php"$link = new PDO('mysql:host=localhost;dbname=distribuidora', 'root', '');
$result = $link->query('SELECT * FROM userImage WHERE id = '.$_GET['id']) or die (print_r($link->errorInfo()));

$image = $result->fetch(PDO::FETCH_ASSOC);

header("Content-type:".$image["Type"]);
header("Content-Length:".$image["Size"]);
echo $image["File"];

HTML:

<img src="show-image.php?id=1" alt="image" />

Вот как я делал это в течение последнего года, и он работал нормально, но с прошлой недели я не могу сделать изображение, которое будет показано. Я пробовал разные заголовки и разные решения, приведенные здесь в других вопросах, но все равно не сработает.

0

Решение

я думаю ошибка в $image = $_FILES['file']; ты должен назвать файл так $image = $_FILES['file']['name']; и измените HTML на <img src="show-image.php?id=1" alt="image" name='name' />

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector