Иконка ресурса

Как вывести на титулку случайное фото

Майор

Администратор
Команда форума
Регистрация
04.09.14
Сообщения
2.837
Реакции
1.942
Баллы
113
Пользователь Капитан разместил новый ресурс:

Как вывести на титулку случайное фото - Вывод случайного фото на титулке чата

В index.php, в нужном вам месте вставьте такой код:
PHP:
<?php
$dir_name = "photos/0/" //лично у меня 0, замени на свою папку если другая
$open_dir = opendir($file_path.$dir_name);
$all_photos = array();
while (false !== ($value = readdir ($open_dir))) {
if (($value!=".") || ($value!="..";)) $all_photos[]=$value;
}
closedir($open_dir);
shuffle($all_photos);
echo "<img src=\"".$chat_url.$dir_name.$all_photos[0]."\" border=\"0\" width=\"150\" height=\"150\">";
unset($dir_name);...
Узнать больше об этом ресурсе...
 

terminator

Юзверь
Проверенный +
Регистрация
26.09.14
Сообщения
5
Реакции
5
Баллы
3
PHP:
<!--Случайное фото -->
<div id="rounded-box-3">
<b class="r3"></b><b class="r1"></b><b class="r1"></b>
<div class="inner-box">
<?php
$dir_name = "photos/0/";
$open_dir = opendir($file_path.$dir_name);
$all_photos = array();
while (false !== ($value = readdir ($open_dir))) { if (($value!=".") || ($value!="..")) $all_photos[]=$value; }
closedir($open_dir);
shuffle($all_photos);
$source = $_FILES["filename"]["tmp_name"];
$params = getimagesize($source);
$photo_width="150";
$prr = $photo_width/$params[0];
$photo_height = $params[1]*$prr;
echo "<img src=\"".$chat_url.$dir_name.$all_photos[0]."\" border=\"0\" width=\"150\" height=\"150\ ".$photo_width.">";
unset($dir_name);
unset($all_photos);
unset($value);
unset($open_dir);
?>
</div>
<b class="r1"></b><b class="r1"></b><b class="r3"></b>
 
Последнее редактирование модератором:

stream

Support
Команда форума
Регистрация
09.09.14
Сообщения
958
Реакции
625
Баллы
93
<!--Случайное фото -->
<div id="rounded-box-3">
<b class="r3"></b><b class="r1"></b><b class="r1"></b>
<div class="inner-box">
<?php
$dir_name = "photos/0/";
$open_dir = opendir($file_path.$dir_name);
$all_photos = array();
while (false !== ($value = readdir ($open_dir))) {
if (($value!=".") || ($value!="..")) $all_photos[]=$value;
}
closedir($open_dir);
shuffle($all_photos);
$source = $_FILES["filename"]["tmp_name"];
$params = getimagesize($source);
$photo_width="150";
$prr = $photo_width/$params[0];
$photo_height = $params[1]*$prr;
echo "<img src=\"".$chat_url.$dir_name.$all_photos[0]."\" border=\"0\" width=\"150\" height=\"150\ ".$photo_width.">";
unset($dir_name);
unset($all_photos);
unset($value);
unset($open_dir);
?>
</div>
<b class="r1"></b><b class="r1"></b><b class="r3"></b>
И зачем тогда применять функцию getimagesize, если в итоге эхо ширина и высота?)
...Давно когда-т нашел функцию вывода случайного изображения, правда, так и не протестировал ее ни разу)
Кому надо, размеры сам подставит)
PHP:
<?php
function rand_foto($patch = $file_path."/photos/0")
{ if(!$dir = opendir($patch)) return ""; while(($t = readdir($dir)) !== false) { $ext = substr(strrchr($t,'.'), 1); if(is_file($t) && ($ext == "gif") || ($ext == "jpg")) { $filename[] = $patch."/".$t; } } closedir($dir); $index = rand(0, count($filename) - 1); $foto = "<img src=".$filename[$index].">"; return $foto;
}
echo rand_foto();
?>
 
  • Мне нравится
Реакции: Rain

stream

Support
Команда форума
Регистрация
09.09.14
Сообщения
958
Реакции
625
Баллы
93
Чтобы вывести случайную фотографию чатлан, нужно выполнить несложные действия.
1. Создаем в корне чата файл с названием rand_photo.php.
2. Редактируем файл, вставляем такой код:
Код:
<?php
function rand_foto($patch = "photos/0/")
{ if(!$dir = opendir($patch)) return ""; while(($t = readdir($dir)) !== false) { $ext = substr(strrchr($t,'.'), 1); if(is_file($t) && ($ext == "gif") || ($ext == "jpg")) { $filename[] = $patch."/".$t; } } closedir($dir); $index = rand(0, count($filename) - 1); $foto = "<img src=".$filename[$index].">"; return $foto;
}
echo rand_foto();
?>
3. Сохраняем.
4. В любимом браузере набираем адрес: http://адрес_чата/rand_photo.php
Чтобы убедиться в работоспособности вывода случайного вывода фотографии, несколько раз жмем F5, или CTRL + R.
5. В том месте, где хотим вывести случайную фотографию, пишем такие строки:
Код:
include('rand_photo.php');
или:
Код:
include($file_path.'rand_photo.php');
Код вызова зависит от расположения созданного файла - корректируем самостоятельно.
*hi*
 
Последнее редактирование:

Майор

Администратор
Команда форума
Регистрация
04.09.14
Сообщения
2.837
Реакции
1.942
Баллы
113
Только что протестировал - работает) В корне чата содать файл, и обратиться к нему:
Код:
<?php
function rand_foto($patch = "photos/0/")
{ if(!$dir = opendir($patch)) return ""; while(($t = readdir($dir)) !== false) { $ext = substr(strrchr($t,'.'), 1); if(is_file($t) && ($ext == "gif") || ($ext == "jpg")) { $filename[] = $patch."/".$t; } } closedir($dir); $index = rand(0, count($filename) - 1); $foto = "<img src=".$filename[$index].">"; return $foto;
}
echo rand_foto();
?>
напиши инструкцию подробнее. Не все понимают, как создать файл (с каким именем)? Как обратиться к нему? И люди будут учиться, и у нас будет больше юзеров)
[DOUBLEPOST=1444131340,1444131311][/DOUBLEPOST]как напишешь, я ее добавлю в основное описание мода
 

mychatik

Support
Команда форума
Регистрация
26.05.15
Сообщения
482
Реакции
389
Баллы
63
Веб-сайт
mychatik.ru
PHP:
dir_name = "photos/0/" //лично у меня 0, замени на свою папку если другая
PHP:
function rand_foto($patch = "photos/0/")
А если папок больше? Как рандомно ко ВСЕМ остальным обратиться? Чтобы выбирало не только из тех, кто вначале зарегился.
У меня, к примеру, уже 6 папок с юзерами.

Возможно, что-то типа такого сделать:
PHP:
$n_foto = mt_rand(0,5);
dir_name = 'photos/".$fn_foto."/'
или
PHP:
$n_foto = mt_rand(0,5);
function rand_foto($patch = 'photos/".$n_foto."/')
Но, блин, неудобно, при росте количества папок, нужно следить и вручную менять числа...
 
Последнее редактирование:
Сверху Снизу