Есть файл с двумя функциями с проверкой и загрузкой изображения. 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> Не чего не обычно, возможно запутался. Обьясните пожалуйста в чем может быть проблема. Заранее спасибо.
Данная переменная содержит Имена каждого изображения сохраненного в БД. Но самого изображения не показывает.
Хорошо, зайдем с другой стороны. Вот эту часть кода Код (Text): while ($row = mysqli_fetch_array($data)){ echo '<img src="'.$row['picture'] . '" />'; } Замените на Код (Text): echo '<xmp>'; while ($row = mysqli_fetch_array($data)){ echo '<img src="'.$row['picture'] . '" />'; } echo '</xmp>'; И скопируйте выведенное сюда. Можно даже как картинку.
Пример значений имелся в виду. Может, имена относительные или просто кривые. --- Добавлено --- P.S. Учитесь уже делать запросы к БД вне разметки.
PHP: $name = mt_rand(0, 10000) . $picture['name']; move_uploaded_file($picture['tmp_name'], 'image/' . $name); Адрес в БД нужно сохранять в соответствии с тем местом/именем, куда пихаете файлы. При этом 'image/' можно не пихать в БД, а также добавлять при формировании ссылки.
Код (Text): while ($row = mysqli_fetch_array($data)){ echo '<img src="image/'.$row['picture'] . '" />'; }