Можете ли вы, ребята, помочь мне? Я пытаюсь получить изображение из папки, но изображение не появится.Как отобразить изображение из папки с php?
Вот мой код:
Я использую таблицу "статьи":
id int(100) auto increment,
title varchar(150),
imageName varchar(250) -> to store the file name,
image varchar(250) -> to store the image location address,
content text
Вот моя структура папок:
(artikel_created.php) -> proccess название, изображение и содержание статьи
$tit = mysqli_real_escape_string($con, $_POST['title']);
$cont = mysqli_real_escape_string($con, $_POST['content']);
$fileName = $_FILES['image']['name']; //get the file name
$fileSize = $_FILES['image']['size']; //get the size
$fileError = $_FILES['image']['error']; //get the error when upload
$tmp = $_FILES['image']['tmp_name'];
?>
<?php include 'admin_header.php'; ?>
<body>
<section class="body">
<div id="log"></div>
<div id="artikel_created_panel">
<?php
if ($fileSize > 0 || $fileError == 0) {
$move = move_uploaded_file($tmp, '../assets/news_image/' . $fileName);
if ($move) {
$result = mysqli_query($con, "INSERT into articles(title, imageName, image, content) VALUES('$tit','$fileName','assets/news_image/$fileName', '$cont')");
if (!$result) {
trigger_error("Query Failed! SQL: $result - Error: " . mysqli_error($con), E_USER_ERROR);
} else {
echo "<br/>";
echo "Artikel added succesfully";
echo "<br/>";
}
}
}
?>
<a href=../admin/admin_panel.php>Back to admin panel</a>
</div>
</section>
и здесь (artikel.php), чтобы отобразить статью
if (isset($_GET['id'])) {
$id = $_GET['id'];
$qry = mysqli_query($con, "SELECT * FROM articles WHERE id=$id");
if (!$qry) {
trigger_error("Query Failed! SQL: $qry - Error: " . mysqli_error($con), E_USER_ERROR);
}
/*Fetching data from the field "title"*/
while ($row = mysqli_fetch_array($qry)) {
echo "<h2>" . $row['title'] . "</h2>";
echo "<img src=" . $row['image'] . " />";
echo "<p>" . $row['content'] . "</p>";
}
}
?>
Вот изображение:
Может вы, ребята, скажите мне, что случилось с кодом, пожалуйста?
Каков результирующий URL-адрес, используемый в элементе 'img'? Каков ответ сервера на этот запрос? На самом деле, где находится файл? – David
Открыть в браузере и проверить правильность URL. Кроме того, если вы динамически показываете изображения в php, вам нужно проверить изображение типа mime в заголовках http. – georoot
Ответ - это изменение '' assets/news_image/$ fileName'' в sql-запросе на '/ assets/news_image/$ fileName '' таким образом вы используете абсолютный url, а не относительный, который нарушает изображение – georoot