Leva123
Есть файл с двумя функциями с проверкой и загрузкой изображения.
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>
<?phprequire_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>
<?phprequire_once(‘db.php’);
$query = «SELECT*FROM products»;
$data = mysqli_query($db, $query);while ($row = mysqli_fetch_array($data)){
echo ‘<img src=»‘.$row[‘picture’]%20.%20′» />’;}
?>
</body>
</html>Не чего не обычно, возможно запутался. Обьясните пожалуйста в чем может быть проблема. Заранее спасибо.
Drunkenmunky
А что содержит переменная $row[‘picture’]?
Leva123
Само изображение. Я так понимаю.
Drunkenmunky
Понимать не обязательно. Надо проверять.
Введите echo $row[‘picture’];
Leva123
Данная переменная содержит Имена каждого изображения сохраненного в БД. Но самого изображения не показывает.
Drunkenmunky
Приведите пример.
Leva123
Drunkenmunky
Хорошо, зайдем с другой стороны.
Вот эту часть кодаКод (Text):
while ($row = mysqli_fetch_array($data)){ echo ‘<img src=»‘.$row[‘picture’]%20.%20′» />’; }Замените на
Код (Text):
echo ‘<xmp>’; while ($row = mysqli_fetch_array($data)){ echo ‘<img src=»‘.$row[‘picture’]%20.%20′» />’; } echo ‘</xmp>’;И скопируйте выведенное сюда.
Можно даже как картинку.
miketomlin
Пример значений имелся в виду. Может, имена относительные или просто кривые.
— Добавлено —
P.S. Учитесь уже делать запросы к БД вне разметки.
Leva123
— Добавлено —
Имя данного изображения и формат.
Drunkenmunky
Хорошо.
Теперь откройте папку со скриптом из сообщения, и посмотрите есть где-то в ней файл beef.jpg
miketomlin
PHP:
Адрес в БД нужно сохранять в соответствии с тем местом/именем, куда пихаете файлы. При этом ‘image/’ можно не пихать в БД, а также добавлять при формировании ссылки.
Leva123
Данный файл есть в папке image
Drunkenmunky
Бинго.
Она в той же папке, где и скрипт?
miketomlin
А image есть в ссылках?
Leva123
Бл*** парни я запутался =) Отвечаю. Уже просто голова не варит.
miketomlin
Иди спать.
Leva123
Не.Нужно решить данную задачу.
Drunkenmunky
Код (Text):
while ($row = mysqli_fetch_array($data)){ echo ‘<img src=»image/’.$row[‘picture’]%20.%20′» />’; }
Leva123
Спасибо тебе братец)Но я это сделал чуть раньше чем ты мне подсказал)Все таки дошло до меня)