За последние 24 часа нас посетили 22873 программиста и 1234 робота. Сейчас ищет 781 программист ...

Вывод изображения

Тема в разделе "PHP для новичков", создана пользователем Leva123, 7 мар 2021.

Метки:
  1. Leva123

    Leva123 Активный пользователь

    С нами с:
    22 янв 2020
    Сообщения:
    39
    Симпатии:
    0
    Есть файл с двумя функциями с проверкой и загрузкой изображения.
    function.php

    <?php

    function can_upload($picture)
    {
    if($picture['name'] == ''){
    return 'Вы не выбрали файл';

    }
    return true;
    }

    function make_upload($picture)
    {

    $name = mt_rand(0, 10000) . $picture['name'];
    move_uploaded_file($picture['tmp_name'], 'image/' . $name);
    }

    ?>
    файл addscore.php добавляет изображение в БД и в папку image.

    <?
    include_once('function.php');
    ?>
    <!DOCTYPEhtml>
    <htmllang="en">
    <head>
    <metacharset="UTF-8">
    <metahttp-equiv="X-UA-Compatible"content="IE=edge">
    <metaname="viewport"content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    </head>
    <body>
    <h2>Добавление изображения!</h2>
    <formmethod="POST"enctype="multipart/form-data">
    <inputtype="file"name="picture" /><br />
    <inputtype="submit"name="submit"value="Add" /><br />
    </form>
    <ahref="index.php">Главная страница</a>
    <?php

    require_once('db.php');

    if(isset($_POST['submit']))
    {
    $picture = $_FILES['picture']['name'];

    $check = can_upload($_FILES['picture']);

    if($check === true)
    {
    make_upload($_FILES['picture']);
    echo 'OK';
    }else{
    echo "<strong>$check</strong>";
    }
    if($check === true)
    {
    $query = "INSERTINTO products(picture) VALUES ('$picture')";
    mysqli_query($db, $query) or die('Error');

    }
    }

    ?>
    </body>
    </html>
    Затем я хочу вывести на экран файла index.php данные сохраненные картинки у меня не выходит.
    Я кодил другим способом,все получалось но данным способом не выходит.
    Файл index.php

    <?
    include_once('function.php');
    ?>
    <!DOCTYPEhtml>
    <htmllang="en">
    <head>
    <metacharset="UTF-8">
    <metahttp-equiv="X-UA-Compatible"content="IE=edge">
    <metaname="viewport"content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    </head>
    <body>
    <h2>Вывод на экран</h2>
    <ahref="addscore.php">Загрузка изображений</a>
    <hr>
    <?php

    require_once('db.php');


    $query = "SELECT*FROM products";
    $data = mysqli_query($db, $query);

    while ($row = mysqli_fetch_array($data)){
    echo '<img src="'.$row['picture'] . '" />';

    }

    ?>
    </body>
    </html>

    Не чего не обычно, возможно запутался. Обьясните пожалуйста в чем может быть проблема. Заранее спасибо.
     
  2. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    А что содержит переменная $row['picture']?
     
  3. Leva123

    Leva123 Активный пользователь

    С нами с:
    22 янв 2020
    Сообщения:
    39
    Симпатии:
    0
    Само изображение. Я так понимаю.
     
  4. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Понимать не обязательно. Надо проверять.
    Введите echo $row['picture'];
     
  5. Leva123

    Leva123 Активный пользователь

    С нами с:
    22 янв 2020
    Сообщения:
    39
    Симпатии:
    0
    Данная переменная содержит Имена каждого изображения сохраненного в БД. Но самого изображения не показывает.
     
  6. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Приведите пример.
     
  7. Leva123

    Leva123 Активный пользователь

    С нами с:
    22 янв 2020
    Сообщения:
    39
    Симпатии:
    0
     

    Вложения:

  8. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Хорошо, зайдем с другой стороны.
    Вот эту часть кода
    Код (Text):
    1. while ($row = mysqli_fetch_array($data)){
    2. echo '<img src="'.$row['picture'] . '" />';
    3.  
    4. }
    Замените на
    Код (Text):
    1. echo '<xmp>';
    2. while ($row = mysqli_fetch_array($data)){
    3. echo '<img src="'.$row['picture'] . '" />';
    4.  
    5. }
    6. echo '</xmp>';
    И скопируйте выведенное сюда.
    Можно даже как картинку.
     
  9. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Пример значений имелся в виду. Может, имена относительные или просто кривые.
    --- Добавлено ---
    P.S. Учитесь уже делать запросы к БД вне разметки.
     
  10. Leva123

    Leva123 Активный пользователь

    С нами с:
    22 янв 2020
    Сообщения:
    39
    Симпатии:
    0
    --- Добавлено ---
    Имя данного изображения и формат.
     

    Вложения:

  11. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Хорошо.
    Теперь откройте папку со скриптом из сообщения, и посмотрите есть где-то в ней файл beef.jpg
     
  12. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    PHP:
    1. $name = mt_rand(0, 10000) . $picture['name'];
    2. move_uploaded_file($picture['tmp_name'], 'image/' . $name);
    Адрес в БД нужно сохранять в соответствии с тем местом/именем, куда пихаете файлы. При этом 'image/' можно не пихать в БД, а также добавлять при формировании ссылки.
     
    #12 miketomlin, 7 мар 2021
    Последнее редактирование: 8 мар 2021
  13. Leva123

    Leva123 Активный пользователь

    С нами с:
    22 янв 2020
    Сообщения:
    39
    Симпатии:
    0
    Данный файл есть в папке image
     
  14. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Бинго.
    Она в той же папке, где и скрипт?
     
  15. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    А image есть в ссылках? :)
     
  16. Leva123

    Leva123 Активный пользователь

    С нами с:
    22 янв 2020
    Сообщения:
    39
    Симпатии:
    0
    Бл*** парни я запутался =) Отвечаю. Уже просто голова не варит.
     
  17. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Иди спать.
     
  18. Leva123

    Leva123 Активный пользователь

    С нами с:
    22 янв 2020
    Сообщения:
    39
    Симпатии:
    0
    Не.Нужно решить данную задачу.
     
  19. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Код (Text):
    1. while ($row = mysqli_fetch_array($data)){
    2. echo '<img src="image/'.$row['picture'] . '" />';
    3. }
     
  20. Leva123

    Leva123 Активный пользователь

    С нами с:
    22 янв 2020
    Сообщения:
    39
    Симпатии:
    0
    Спасибо тебе братец)Но я это сделал чуть раньше чем ты мне подсказал)Все таки дошло до меня)