|
|
|
|
|
для: Football
(15.10.2005 в 13:00)
| | 1) EvgenLog писал что ему надо вывести картинк и масштабировать её.
2) Где я там массив обхожу, скрипт рекурсивно обходит каталог и вложенные в него каталоги ищет графические файлы и заносит пути в массив, а потом из массива рандомом выбирается один файл. | |
|
|
|
|
|
|
|
для: Football
(15.10.2005 в 16:25)
| | Не мне одну надо... Но всё равно спасибо! Вдруг пригодится... | |
|
|
|
|
|
|
|
для: EvgenLog
(15.10.2005 в 13:16)
| | Так если выводить сразу несколько картинок, то зачем тогда случайный выбор. Конечно, если надо вывести две из пяти я понимаю, но я такое вообще нигде не встречал. Что касается вывода нескольких, то просто тандо добавить в самом начале скрипта перед радномом вот такой скрипт
$max:=2; // кол-во выводимых картинок
for ($i=0;$i<$max;$i++) {
// Тут будет идти сам код
}
|
| |
|
|
|
|
 837 байт |
|
|
для: OZ_
(15.10.2005 в 13:11)
| | Короче напарился я с этим кодом, но написал всё таки свой и он великолепно работает, но пока только для одного формата "*.jpg".
Он прикреплён к сообщению, если кому интересно, то посмотрите, обсудите, укажите на недостатки... И т.д.... Всем спасибо за помощь!
P.S. Скрипт использует ещё один файл... Это как раз тот, что масштабирует картинки на лету... Но его я не стал прикреплять... | |
|
|
|
|
|
|
|
для: Football
(15.10.2005 в 13:00)
| | А каждой картинке соответствует своя подпись? Если так - используйте код Football, иначе код Евгения Петрова. | |
|
|
|
|
|
|
|
для: EvgenLog
(14.10.2005 в 23:33)
| | Что значит масштабировать картинку?
И зачем тебе массив обходить, если у тебя все данные файла в массив записываются? | |
|
|
|
|
|
|
|
для: Boss
(15.10.2005 в 00:34)
| | загонять каждую картинку в массив? Их количество будет постоянно менятся, они будут загружаться пользователями...
Вот объясните мне кто-нибудь... Я изменил скрипт вот так...
<?
...
$img_name_array = explode(".", $rand_img[$index]);
$img_type = end($img_name_array);
if(is_file($main_img_folder.$rand_img[$index]) && in_array($img_type, $image_extensions)
&& $name = basename($rand_img[$index],".jpg"))
{
$source=$main_img_folder.$rand_img[$index];
// выводим картинку на экран
$size_img = getimagesize($main_img_folder."/".$rand_img[$index]);
...
?>
|
Теперь с вероятностью в 30% - 40% ничего не показывается...
Я прикрепил полный код скрипта, может кто посмотрит в чём там дело? | |
|
|
|
|
|
|
|
для: EvgenLog
(15.10.2005 в 00:11)
| | Попробуйте так:
$pictures = array('11.jpg', '12.jpg'); ' и так далее, загоняйте в массив картинки
srand((float)microtime()*100000000);
shuffle($pictures);
for ($i=0; $i<1;$i++)
{ echo $pictures[$i]; }
|
| |
|
|
|
|
|
|
|
для: Евгений Петров
(15.10.2005 в 00:02)
| | Спасибо... Попробую, но сначала добъю этот код! У меня получилось убрать цикл - работате, но картинка то выводится, то не выводится... Он видимо, что-то не то ещё выводит, вот таким код стал...
<?php
$main_img_folder = "./$main_files_dir/Gallery/Interiors/";
$open_main_img_folder = opendir($main_img_folder);
$image_extensions = array("jpg", "png", "bmp", "jpe", "jpeg");
$filename = "$main_img_folder/config.ini";
// Читаем содержимое файла $filename
$fd = fopen($filename, "r");
$bufer = fread($fd,filesize($filename));
fclose($fd);
// Разбиваем содержимое файла на подстроки
// разделителем которых выступают ,
// помещая их в массив $phrase
$rand_img = explode("\r\n",$bufer);
// Получаем случайный индекс массива $phrase
$index = rand(0,count($rand_img)-1);
if(is_file($main_img_folder.$rand_img[$index]))
{
// Выводим фразу
$source=$main_img_folder.$rand_img[$index];
// выводим картинку на экран
$size_img = getimagesize($main_img_folder."/".$rand_img[$index]);
$name = basename($rand_img[$index],".jpg");
echo "<table align='left' valign='top' border='0'>
<tr>
<td width='25'></td>
</tr>
</table>
<table align='left' valign='top' border='1'>
<tr>
<td align='center'>
Интерьеры
</td>
</tr>
<tr>
<td>
<img src='img.php?file=$source' border='0' alt='$name'>
</td>
</tr>
<tr>
<td>
<center>
<font color='#2954D1'><b>$size_img[0]x$size_img[1]</b><br>
<a href='$main_url/$main_files_dir/Gallery/Interiors/$name.jpg'><b>$name</b>
</font>
</center>
</td>
</tr>
</table>";
}
?>
|
| |
|
|
|
|
|
|
|
для: EvgenLog
(14.10.2005 в 23:48)
| | Попробуй такой код. Правда он не масштабирует картинки:
<?
function Tree($directory)
{
global $pathes;
$dir = opendir($directory);
while($file = readdir($dir))
{
if(is_file($directory."/".$file) && preg_match("/gif|bmp|jpg|png|jpeg/i",strrchr($file, ".")))
$pathes[] = $directory."/".$file;
elseif(is_dir($directory."/".$file) && ($file!=".") && ($file!=".."))
Tree($directory."/".$file);
}
closedir($dir);
}
Tree("C:\Pictures");
echo $pathes[rand(0,count($pathes))];
?>
|
и если картинок очень много будет, то память неэкономно расходуется. | |
|
|
|
|