2016-11-21 2 views
0

Можете ли вы, ребята, помочь мне? Я пытаюсь получить изображение из папки, но изображение не появится.Как отобразить изображение из папки с 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 

Вот моя структура папок:

enter image description here

(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>"; 
      } 
     } 
     ?> 

Вот изображение:

enter image description here

Может вы, ребята, скажите мне, что случилось с кодом, пожалуйста?

+1

Каков результирующий URL-адрес, используемый в элементе 'img'? Каков ответ сервера на этот запрос? На самом деле, где находится файл? – David

+0

Открыть в браузере и проверить правильность URL. Кроме того, если вы динамически показываете изображения в php, вам нужно проверить изображение типа mime в заголовках http. – georoot

+0

Ответ - это изменение '' assets/news_image/$ fileName'' в sql-запросе на '/ assets/news_image/$ fileName '' таким образом вы используете абсолютный url, а не относительный, который нарушает изображение – georoot

ответ

1

похоже путь выпуск.

Я вижу, что вы вставляете путь изображения в таблицу примерно как 'assets/news_image/$fileName', но вы загружаете картинку '../assets/news_image/'.

Обновление путь к файлу: -

Для абсолютного пути (рекомендуется):

echo "<img src="."/". $row['image'] . " />"; 

или

Для относительного пути:

echo "<img src="."../". $row['image'] . " />"; 

Надежда это поможет вам (у).

+0

проверяет структуру его папок, правильно – georoot

+0

Просто отредактируйте и добавьте абсолютный URL-адрес, не используйте относительный. Они всегда создают проблему – georoot

+0

@georoot sure (y). – pradeep1991singh

Смежные вопросы