Вывести только одно изображение php

Показ случайной картинки на сайте при помощи РНР

Рассмотрим вывод на странице сайта произвольной картинки из директории. Для этого нам нужно зайти в директорию где находятся изображения, затем просмотреть количество изображений и с общего количества показать n-ю картинку. Реализовывать мы это будем как вы уже догадались с помощью РНР.

И так, сначала нам нужно создать две переменные. Одна будет указывать директорию в которой находятся наши изображения, а вторая хранить массив с названиями изображений.

$dir = "путь к папке с изображениями"; // Указываем директорию в которой находятся наши изображения. Например: http://mypage.ua/img/ $img_a = array(); // Создаем пустой массив для хранения названий изображений 

После созданий переменных приступаем к проверке наличия изображений в директории, а также их добавления в массив.

if (is_dir($dir)) < // Проверяем действительно ли переменная содержит путь к папке if($od = opendir($dir))< // Открываем папку while(($file = readdir($od)) !== false)< // Проверяем все файлы что находятся в папке if(strtolower(strstr($file, "."))===".jpg" || strtolower(strstr($file, "."))===".gif" || strtolower(strstr($file, "."))===".png")< // Выделяем с всех файлов только изображения. Как правило это файлы с расширением: .jpg, .gif, .png array_push($img_a, $file); // Если файл действительно имеет расширение изображения добавляем его в массив >> closedir($od); // Закрываем папку > > 

Теперь наша вторая переменная содержит в себе массив с именами изображений. Нам осталось только вывести одно из них на страницу нашего сайта. Для этого создадим переменную которая будет генерировать случайное число от 1 до количества записей в массиве n.

$rd = rand(0, count($img_a)-1); // Получаем случайное число от 1 до количества записей в массиве 

в котором и зададим высоту (height) и ширину (weidth) нашего изображения.

print ' '// Выводим изображение с директории и задаем высоту и ширину изображения 

В результате мы получаем следующий РНР код:

 > closedir($od); > > $rd = rand(0, count($img_a)-1); print ' ' ?> 

И так код показа картинки мы написали что дальше? Нужно его применить и тут собственно два пути.
Первый просто вставить вышеуказанный код в HTML документ в то место где вы хотите отобразить картинку.
Второй создать текстовый документ с вышеуказанным кодом и сохранить его с расширением .php например (random_img.php). После того как документ создан копируем его в корневой каталог вашего сайта и в HTML документ в то место где вы хотите отобразить картинку пишете следующую строку:

Читайте также:  Вывод значений массива javascript

Если все сделано верно то при каждом обновлении страницы на вашем сайте в случайном порядке будут отображаться картинки из указанной вами директории.

Источник

Как вытащить только 1 изображение из папки на php?

У меня есть рабочий код, который извлекает все изображения из динамически созданной папки. Но я хочу отображать только 1 изображение из определенной папки на моей странице дисплея. Какие-либо предложения? Мой код:

"; $images = glob("$search_dir/*.jpg"); sort($images); //display images foreach ($images as $img) < echo ""; > ?> 

Добро пожаловать в Stack Overflow! Мы с большей вероятностью сможем вам помочь, если вы сами попытаетесь решить проблему и опишите, что вы пробовали . Проверьте контрольный список вопросов Stack Overflow, чтобы получить дополнительную информацию о том, как задавать правильные вопросы. Удачи и счастливого кодирования!

2 ответа

Вы можете отобразить одно изображение с помощью:

"; $images = glob("$search_dir/*.jpg"); sort($images); // Image selection and display: //display first image if (count($images) > 0) < // make sure at least one image exists $img = $images[0]; // first image echo ""; > else < // possibly display a placeholder image? >?> 

Если вам нужно случайное изображение, сделайте следующее:

 // Image selection and display: //display random image if (count($images) > 0) < // make sure at least one image exists // Get a random index in the array with rand(min, max) which is inclusive $randomImageIndex = rand(0, count($images)-1); $img = $images[$randomImageIndex]; // random image echo ""; > else < // possibly display a placeholder image >

Большое спасибо, Тедди! Это действительно помогло. Ценится. На самом деле внутри каждой папки много изображений. Я хочу, чтобы сначала отображалось только одно изображение. Как только люди обновляют или перезагружают страницу, она случайным образом отображает следующее изображение из соответствующей папки.

[Теперь отображается только одно изображение из соответствующей папки] На самом деле в каждой папке много изображений. Я хочу, чтобы сначала отображалось только одно изображение. Как только люди обновляют или перезагружают страницу, она случайным образом отображает следующее изображение из соответствующей папки.

Мистер Тедди! Вы — гений. Большое спасибо. Он работает хорошо и идеально. Еще раз спасибо. Будьте здоровы.

Вы можете использовать current , чтобы получить первое изображение из массива.

"; $images = glob("$search_dir/*.jpg"); sort($images); //display one image: echo " "; ?> 

Источник

Вывести только одну картинку из папки

Всех приветствую.
Такой код на вывод всех картинок из папки.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
$path = 'uploads/obd/'.$idd.'/'; // Папка с изображениями $wimage = ""; $fimg = ""; $images = scandir($path); // сканируем папку if ($images !== false)  // если нет ошибок при сканировании $images = preg_grep("/\.(?:png $wimage .= $fimg; } else { // иначе, если нет изображений $wimage .= "
Не обнаружено изображений в директории!
\n"
; } } else { // иначе, если директория пуста или произошла ошибка $wimage .= "
Директория пуста или произошла ошибка при сканировании.
"
; } echo $wimage; // выводим полученный результат

Как вывести картинку только при её наличии в БД
В БД есть записи клиентов. У кого-то есть фото. При выводе средствами php фото выводится, в.

Как вывести на главной только одну запись
Здравствуйте, подскажите как вывести на главной только одну запись? Я в принципе представляю, что.

Как вывести только одну кнопку в панели задач?
через кнопку переходит во вторую форму. // Form4 Form4 = new Form4(); //.

Вывести строку наоборот, использую только одну переменную
С клавиатуры вводится текст. Необходимо вывести этот текст в обратном порядке(например: ввод-.

Haski, Вместо прохода по массиву бери, к примеру, $images[0]
Ну или перед закрывающей foreach скобкой > напиши break.

Вывести только те слова сообщения, которые содержат хотя бы одну цифру
При решении задач следует руководствоваться правилом: если в строке должны производится изменения.

Вывести только те слова сообщения, которые начинаются и оканчиваются на одну и ту же букву
Дано осмысленное текстовое сообщение (т.е. алфавитно-цифровая информация, разделенная пробелами и.

Вывести только те слова сообщения, которые содержат хотя бы одну цифру
Дана строка, в которой содержится осмысленное текстовое сообщение. Слова сообщения разделяются.

Вывести только те слова сообщения, которые содержат хотя бы одну цифру
помогите найти ошибку //не выводит слово П3редло9жение String str = "П3редло9жение со.

Источник

Как выводить в анонсе записи только одну картинку?

Здравствуйте! На странице с записями WP выводится статья целиком со всеми картинками, как сделать, чтобы выводилась только одна, первая картинка?

5b76c0258f545310722351.png

Как вывести только первую?

$thumb_id = get_post_thumbnail_id(); $thumb_url = wp_get_attachment_image_src($thumb_id,'full', true);

Александр Коновалов, у вас это 3 разных записи? Или же это 1 запись, а в ней 3 картинки? Если у вас это 1 запись, тогда используйте код, что я писал выше.

Прописываете куда вам необходимо
Выведется одна картинка (Первая)

Если у меня вот так выводятся записи, то куда его вставлять?

Александр Коновалов, я не знаю куда конкретно вам нужно его вставлять, вставьте вместо the_content();

Александр Коновалов, код должен стоять вместо строки, где находится контент, он отвечает за вывод контента, который вы заполняете на странице записи

Так же сверху до цикла wordpress (после query) необходимо внести следующий код:

$thumb_id = get_post_thumbnail_id(); $thumb_url = wp_get_attachment_image_src($thumb_id,'full', true);

Если возникнут какие-то проблемы, картинка не вывелась, тогда делаете
И отправляете мне результат.

Palych_tw

Судя по коду и скриншотам, вы выводите целиком контент записи через the_contetnt(); . И дело тут не в количестве картинок, а в том, что у вас выводится вообще вся запись целиком. Если вам нужно вывести только анонс — используйте the_excerpt() а для вывода миниатюры используйте the_post_thumbnail(); Эти функции нужно использовать ВНУТРИ цикла вывода постов, если не понимаете о чем это, подучите php.

5b77bc80e22a8887674781.png

P.S. Миниатюра к посту цепляется здесь
Если этого метабокса нет, то в functions.php вашей темы нужно добавить add_theme_support( ‘post-thumbnails’ );

P.P.S. Не используйте query_posts() никогда. Вместо этого используйте WP_Query

Спасибо, но как сделать, чтобы миниатюра добавлялась автоматически и не приходилось в каждой новой записи ее указывать?

Palych_tw

Александр Коновалов, можете попробовать поискать какой-нибудь плагин, но я не вижу никакой проблемы и ничего криминального в том, что бы при заполнении поста заливать миниатюру.

Источник

Цикл вывода изображений выводит только одно изображение

Программа выводит только одно значение
Здравствуйте. Есть код #include <iostream> #include <conio.h> #include <time.h> using.

Программу написал, но выводит только одно значение
В матрице А (mxn) элементы главной диагонали расположить в порядке возрастания их абсолютных.

Цикл вывода информации из базы данных выводит лишнего
Добрый вечер. Есть несколько циклов. Первый выводит первые три записи из БД. Далее идет второй.

Почему ответ не выводит матрицей, а выдает только одно число
Почему последние два ответа не выводит матрицей, а выдает только одно число? Помогите пожалуйста

Протокол HTTP работает по схеме запрос — ответ. В ответе веб-сервер указывает тип отправляемого содержимого (заголовок Content-type) и затем содержимое ответа. За один ответ он может отправить только один файл с одним набором заголовков.

Надо разбивать логику скрипта на две части: первая генерит html со ссылками на скрипт генерации превьюшек вида

Второая часть (файл thumbnail.php) берет параметр с именем картинки и генерит превью только для нее.

Еще лучше генерить превью заранее и только один раз.

ну я так и не разобрался. bazile, ты меня не так понял =) мне нужно чтобы генерились привьюшки с МЕНЬШИМ размером чем большие фоты. (они на то и привьющки, чтобы быстрее грузились).

bazile, перечетал еще раз 10 твой первый пост и вот такое сделал:

1 2 3 4 5 6 7 8 9 10 11 12 13
$big_img = ImageCreateFromJPEG('papkasfotkami/$e1'); $small_img = ImageCreatetruecolor(101,101); $sizee = GetImageSize('papkasfotkami/$e1'); imageCreateTrueColor($sizee[0],$sizee[1]); ImageCopyResized($small_img, $big_img, 0, 0, 0, 0, 101, 101, $sizee[0], $sizee[1]); ImageJPEG($small_img); $dir=opendir('papkasfotkami/'); while(($e=readdir($dir))!==false)  echo ''; } closedir($dir);

работает, спасибо. Но вместе с превьюхами вот еще что выводит:

Warning: imagecreatefromjpeg(papkasfotkami/): failed to open stream: Permission denied in z:homelocalhostwwws.php on line 2

Warning: getimagesize(papkasfotkami/): failed to open stream: Permission denied in z:homelocalhostwwws.php on line 4

Warning: imagecreatetruecolor(): Invalid image dimensions in z:homelocalhostwwws.php on line 5

Warning: imagecopyresized(): supplied argument is not a valid Image resource in z:homelocalhostwwws.php on line 6

imagecreatefromjpeg(papkasfotkami/): failed to open stream Permission denied in z:homelocalhostwwws.php on line 2
$big_img = ImageCreateFromJPEG('papkasfotkami/$e1');

Отсюда нетрудно понять что ошибка возникает если переменная $e1 пустая.

Поэтому добавляем такие проверки: (код я не проверял, только добавил проверки)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
if (isset($e1)) { $filename_img = 'papkasfotkami/$e1'; if (file_exists($filename_img)) { $big_img = ImageCreateFromJPEG($filename_img); $small_img = ImageCreatetruecolor(101,101); $sizee = GetImageSize($filename_img); imageCreateTrueColor($sizee[0],$sizee[1]); ImageCopyResized($small_img, $big_img, 0, 0, 0, 0, 101, 101, $sizee[0], $sizee[1]); ImageJPEG($small_img); } } else  $dir = opendir('papkasfotkami/'); while(($e=readdir($dir))!==false) { if($e=='.'  closedir($dir); }

Источник

Оцените статью