Мой сайт

Форум PHP программистов ► PHP практикум ► PHP для начинающих

Профиль
Группа: Пользователь
Сообщений: 12
Пользователь №: 42765
На форуме:
Карма:

Всем доброго времени суток.

Тренюсь выводить данные различного рода из БД и папок.

Стоит следующая задача:
— выводить данные из БД и соответствующую картинку для данных из БД.

Сначала я считываю из БД данные, и определяю — есть ли соответствующая картинка.
Затем обрабатываю размеры данной картинки и вывожу ее с описательными данными из БД.
Когда я проверяю — есть данная картинка в моей папке в пределах цикла if-else, входит в if. Но вот при выводе почему-то не хоет выводить данную картинку — выводит данные по alt=». «. Смотрел по отладке — вроде все есть, а картинку выводить не хочет.

$result = mysqli_query($link, «SELECT * FROM table_products «);
if(mysqli_num_rows($result)>0) $row = mysqli_fetch_assoc($result);

do//Посмотрим — что там в том $row
echo «

"; 
print_r($row);
echo "

«;

echo «$width
«;
echo «$height
«;
echo «$img_path
«;
echo «

"; 
print_r(getimagesize($img_path));
echo "

«;
$ratioh = $max_height/$height;
$ratiow = $max_width/$width;
$ratio = min($ratioh, $ratiow);
$width = intval($ratio*$width);
$height = intval($ratio*$height);
>
else $img_path = ‘/shop/www/img/no_image.png’;
$width = 120;
$height = 200;
>

Источник

Почему не выводятся картинки из папки?

В папке upload хранятся картинки .Если вывожу названия картинок , то все работает если пытаюсь вывести изображения выводит квадрат из белых линий на
черном экране . Картинки в базе данных формата jpeg.

Думаю что дело в строке , пробовал по разному но вывести изображения не получается .
$src=’upload/’.$res[‘name’];

stk

1. Права доступа к папке проверели?
2. URL у вас получается «upload/. «, то есть относительно текущего УРЛа страницы с картинками.
То есть если это страница «www.example.com/gallery», то картинки будут «www.example.com/gallery/upload/. «.
Добавьте слэш $src = «/upload/. «. Тогда сорс картинок будет «www.example.com/upload/. «.

slo_nik

slo_nik

slo_nik

user1213, ага, Вы уже изменили ответ.
Тогда начните с того, что проверьте, что у Вас в переменной $src; соответствует ли путь в переменной с реальным путём к изображениям.
Посмотрите через консоль браузера, какой html Вам генерируется.

slo_nik

user1213, ничего не надо вводить. В консоли браузера смотрите исходный код страницы. На элементе правой кнопкой мыши -> ‘инспектировать элемент'(или ‘посмотреть код’). Внизу окна браузера откроется консоль, вот там и смотрите, какой html Вам генерирует.
Возможно просто подставляется неверный путь к изображению.
Сделайте echo $src , проверьте визуально, правильный ли путь к изображению.

Header('Content-Type: image/jpg'); $category=$_GET[category]; $host = 'localhost'; // адрес сервера $database = 'imagess'; // имя базы данных $user = 'admin'; // имя пользователя $password = '12345'; // пароль $link = mysqli_connect($host, $user, $password, $database) or die("Ошибка " . mysqli_error($link)); $res = mysqli_query($link,"SELECT name FROM imagess WHERE category='".$category."'"); //while($row = mysqli_fetch_array($res)) < //$src='..upload/'.$row['name']; ?>  mysql_close($conn); ?>

Источник

Не отображаются картинки на php

Сайт такой тематики, что подразумевает большого наличия картинок на странице. В основном «теле» 20, в шапке 8 + ещё всякие кнопки. Основные изображения хранятся в папке, где общее их количество около 10 тыс. Имя файла берётся из БД и выглядит как $row[‘id’].».jpg». (primary) Проблема в том, что при открытии страницы некоторые картинки не отображаются, как будто нет файла, хотя в .html все пути есть. После обновления страницы те картинки, которые было «не видно» отображаются, но могут пропасть видимые. Иногда требуется 3 раза нажать f5, чтобы заставить показываться все картинки. Иногда не успевают загрузиться кнопки. Пробовал отдельно через цикл из этой папки 100 картинок выводить — всё ок. Я понимаю, что м.б. дело в скрипте. Помимо вывода картинок там ещё много чего выполняется. Но почему, если скрипт «не успевает» отобразить картинку просто «плюёт» на неё. Мог бы тогда по-дольше выполнятся. Пробовал чистить кэш браузера и с разных браузеров заходил и с телефона — одно и то же. Подскажите пожалуйста, почему это происходит и как побороть проблему. Никак ума не приложу. Извините, если не ту ветку выбрал, просто не знаю в чём именно проблема. Вот код:

header("Content-Type: text/html; charset=utf-8"); 
require_once("conf.php");
require_once("function.php");
require('rating.php');

/* Для постраничной навигации */
$pnumber = 20;
if(isset($_GET['page'])) <
if(!preg_match("/^2+$/", $_GET['page'])) <
header("Location: ".$url."404.php");
exit;
> else <
$page = $_GET['page'];
>
>
else <
$page = 1;
>
$start = ($page - 1) * $pnumber;
/*****************************/
?>
















/* Для постраничной навигации */
$query ;
$tot = mysql_query($query);
if(!$tot) exit("Ошибка обращения к БД");
$total = mysql_result($tot,0);
$number = (int)($total/$pnumber);
if((float)($total/$pnumber) - $number != 0) $number++;
/*****************************/
echo "
";
echo "

Новинки кино

";
echo "
";
/**** Выбираем фильмы ****/
$query ;
$result = mysql_query($query);
if(!$result) exit("Ошибка в синтаксисе запроса к БД2");
if(mysql_num_rows($result) > 0) <
$j = $pnumber * $page - $pnumber + 1; // Для постраничной навигации
while($row = mysql_fetch_array($result)) <
echo "
";
echo "";
if(file_exists($_SERVER['DOCUMENT_ROOT']."/images/".$row['id']."_small.jpg")) <
$img = $url."/images/".$row['id']."_small.jpg"; // Здесь берём картинку
> else <
$img = $url."icon/no_poster_small.jpg";
>
echo "".$row["; // Здесь выводим картинку
echo "

".cutstring($row['name'], 80)."

";
echo "";
echo rating_bar($row['id'],'10','static','small'); // Рисуем рейтинг
echo "
";
flush();
>
> else echo "

Поиск не дал результатов
Назад

";
echo " ";
/******* Постраничная навигация *********/
if($j) <
echo "
";
// $j - нумерация фильмов на странице
// $pnumber - количество фильмов на странице
// $number - общее количество страниц
// $page - номер текущей страницы
// $total - общее количество фильмов
if($page > 5) < // Если текущая страница не первая, воводим "На первую" и "Назад"
echo "1 .  ";
/*echo ">
if($page <=4) $begin = $page-1;
else $begin = 4;
for($i=($page-$begin); $i if($i==1) echo "".$i." ";
else echo "".$i." ";
>
echo "".$page." ";
if(($number-$page) <4) $end = $number-$page;
else $end = 4;
for($i=$page+1; $i echo "".$i." ";
>
if($page < ($number-4)) < // Если текущая страница не последняя, воводим "Вперёд" и "На последнюю"
/*echo "Вперёд> ";*/
echo " .  ".$number."";
>
echo "
";
>
/***************************************/
echo "
"; //

echo "
"; //

?>


require_once("menu.php");
?>





" title="Главная">

search.php" method="GET">


require_once("topmenu.php");
?>

require_once("bottommenu.php");
?>

Извините, что выложил весь код. Просто не знаю, где может быть проблема. Отметил, где выводятся картинки. Может кто сталкивался с подобной проблемой? Спасибо.

Источник

Читайте также:  Html image style hidden
Оцените статью