Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Не выводятся картинки, Проблемы с определением пути при выводе
Nidermayer  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 12
Пользователь №: 42765
На форуме: 8 месяцев, 5 дней
Карма:




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

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

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

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

P.S. Использую Apache 2.4

<php
$result = mysqli_query($link, "SELECT * FROM table_products ");
if(mysqli_num_rows($result)>0){
$row = mysqli_fetch_assoc($result);

do{
//Посмотрим - что там в том $row
echo "<pre>";
print_r($row);
echo "</pre>";

if($row["image"] !="" && file_exists(__DIR__."/uploads_images/".$row["image"])){
echo "Выполнен вход в базовый блок для картинки<br>";
$img_path = __DIR__."/uploads_images/".$row["image"];
$max_width = 200;
$max_height = 200;
list($width, $height) = getimagesize($img_path);

echo "$width<br>";
echo "$height<br>";
echo "$img_path<br>";
echo "<pre>";
print_r(getimagesize($img_path));
echo "</pre>";
$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;
}
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Nidermayer  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 12
Пользователь №: 42765
На форуме: 8 месяцев, 5 дней
Карма:




А вот когда уже вывожу данные - не видит почему-то мой $img_path
<?php

echo '<li>
<div class="block images_grid">
<img src="'.$img_path.'" width="'.$width.'" height="'.$height.'" alt="рррр" />
</div>

?>

Вместо картинки данные по alt
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Nidermayer  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 12
Пользователь №: 42765
На форуме: 8 месяцев, 5 дней
Карма:




<?php
echo "$img_path<br>";
?>

Выводит

<?php
C:\WebServer\Apache24\htdocs\shop\www/uploads_images/img1.jpg
?>

В пределах __DIR__ - слеши в одну сторону, в пределах моей строки - в другую. Но если я в строке их изменю - там вообще мясо получается. Тут, я думаю, ошибки нет - но где она ?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3375
Пользователь №: 38635
На форуме: 2 года, 11 месяцев, 8 дней
Карма: 170




$img_path = __DIR__."/uploads_images/".$row["image"];

В html путь к изображению должен быть либо относительный html страницы, либо абсолютный к корню сайта.
У тебя же путь абсолютный к корню диска (файловой системы)

html не понимает, что такое "C:\WebServer\Apache24\..."
html понимает пути:
  • shop/image/img.jpg
  • ../shop/../image/img.jpg
  • http://localhost/shop/image/img.jpg

плохо
if(mysqli_num_rows($result)>0){
$row = mysqli_fetch_assoc($result);

do{
//Посмотрим - что там в том $row


хорошо
if($result !== false) {
while($row = mysqli_fetch_assoc($result)) {
}
}


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Nidermayer  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 12
Пользователь №: 42765
На форуме: 8 месяцев, 5 дней
Карма:




Но я ведь вывожу данные не в пределах тэга <html> </html>, а в пределах тега php через команду echo - все равно не канает ?
Кстати, вот такой вывод прокатил ))

<img src="/shop/www/uploads_images/'.$row["image"].'" />
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3375
Пользователь №: 38635
На форуме: 2 года, 11 месяцев, 8 дней
Карма: 170




Цитата (Nidermayer @ 10.07.2016 - 13:10)
Но я ведь вывожу данные не в пределах тэга <html> </html>, а в пределах тега php через команду echo - все равно не канает ?

а что, по-твоему, делает php?
Он всего-лишь генерирует html, который потом отправляется в браузер.

Цитата (Nidermayer @ 10.07.2016 - 13:10)
Кстати, вот такой вывод прокатил ))

О чем я выше и написал.


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса