[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: получение названий всех файлов из директории
Risyaalex
Доброе время суток!
Ставлю фотогалерею на js - возник вопрос, как в цикле вытащить все названия файлов из директории, так как в примере путь к каждому файлу прописывается отдельно:

		var carousel_images = [
"my/x_2deaa1f2.jpg",
"my/x_2e311136.jpg",
"my/x_3ae63a52.jpg",
"my/x_05e38750.jpg",
"my/x_87e97721.jpg",
"my/x_179c84a4.jpg",
"my/x_88232c5e.jpg",
"my/x_a2d64e19.jpg",
"my/x_a76729f1.jpg",
"my/x_c3106ab4.jpg",
"my/x_d1b23888.jpg",
"my/x_dc6db212.jpg",
"my/x_df379034.jpg"
];

$(window).load(function() {
$("#photo_container").isc({
imgArray: carousel_images
});
});




Спустя 3 минуты, 46 секунд (18.06.2011 - 11:09) tatti написал(а):
Risyaalex
из директории у клиента или на серваке?

Спустя 1 минута, 37 секунд (18.06.2011 - 11:10) Risyaalex написал(а):
на сервере

Спустя 8 минут, 37 секунд (18.06.2011 - 11:19) tatti написал(а):
тоесть клиент выбирает папку на сервере и из неё начинаю подгружатся файлы на сервер? blink.gif

Спустя 5 минут, 13 секунд (18.06.2011 - 11:24) Risyaalex написал(а):
ммм
нет, в фотогалерею грузятся файлы изображений из определенной папки (в моем случае папка "my"). в том скрипте что у меня есть - путь к каждому файлу нужно указывать отдельно, но я думаю можно составить цикл, который будет вытягивать все файлы из папки "my"
то есть:
var carousel_images = [			
"my/x_2deaa1f2.jpg",
"my/x_2e311136.jpg",
"my/x_3ae63a52.jpg",
"my/x_05e38750.jpg",
"my/x_87e97721.jpg",
"my/x_179c84a4.jpg",
"my/x_88232c5e.jpg",
"my/x_a2d64e19.jpg",
"my/x_a76729f1.jpg",
"my/x_c3106ab4.jpg",
"my/x_d1b23888.jpg",
"my/x_dc6db212.jpg",
"my/x_df379034.jpg"
];


заменить на цикл

Спустя 1 минута, 48 секунд (18.06.2011 - 11:26) m4a1fox написал(а):
tatti
Не подгружаться на сервер а идти в JS галлерею.... тут в этом дело. Что бы в скрипт галлереи запихнуть те фотки, что находятся в папке которую выбрал юзер.
Наверно.
Risyaalex я правильно понял?

Спустя 43 секунды (18.06.2011 - 11:27) m4a1fox написал(а):
Risyaalex
А что за галлерея, если не секрет?

Спустя 3 минуты, 49 секунд (18.06.2011 - 11:31) Risyaalex написал(а):
m4a1fox
да)
Carousel на jQuery

Спустя 18 минут, 42 секунды (18.06.2011 - 11:49) m4a1fox написал(а):
Risyaalex
ДА ни че так. Добавил себе в избранное, а то надро как-то было, долго искал....
Так вот. Я бы что сделал. Вытаскивал фотки не из папки а из БД. Я как-то делал такое гораздо легче мне было.... С папками туго....

Спустя 8 минут, 21 секунда (18.06.2011 - 11:58) Risyaalex написал(а):
m4a1fox
у меня имена файлов и так хранятся в бд, при помощи php вытащить их без проблем (при помощи php могу и без бд вытащить все файлы, уже реализовывала) - но как их с js совместить?

Спустя 1 минута, 40 секунд (18.06.2011 - 11:59) m4a1fox написал(а):
Risyaalex
Давай скрипт галлереи сюды. Будем вместе смотреть!
А так же скрипт как ты вытаскиваешь фотки. Там впринципе как я понял не сложно!

Спустя 8 минут, 58 секунд (18.06.2011 - 12:08) Risyaalex написал(а):
да я в первом сообщении скрипт весь присылала.

при помощи php вытаскиваю

из бд:
$sql = "SELECT * FROM my";
$result = mysql_query ($sql);
while ($arr = mysql_fetch_array ($result)) {
echo "my/".$arr['foto'].";
}


из директории:
$directory = '../my';
$allowed_types=array('jpg','jpeg','gif','png');
$file_parts=array();
$ext='';
$title='';
$i=0;

$dir_handle = @opendir($directory) or die("There is an error with your image directory!");

while ($file = readdir($dir_handle))
{
if($file=='.' || $file == '..') continue;

$file_parts = explode('.',$file);
$ext = strtolower(array_pop($file_parts));

$title = implode('.',$file_parts);
$title = htmlspecialchars($title);

$nomargin='';

if(in_array($ext,$allowed_types))
{
if(($i+1)%4==0) $nomargin='nomargin';

echo $directory.'/'.$file;

$i++;
}
}


closedir($dir_handle);


Спустя 1 минута, 17 секунд (18.06.2011 - 12:09) alex12060 написал(а):
:o


opendir();
readdir();
filetype();
while();
if else endif;


Все что нужно.

Спустя 2 минуты, 22 секунды (18.06.2011 - 12:12) Risyaalex написал(а):
alex12060
в смысле?))

Спустя 2 минуты, 28 секунд (18.06.2011 - 12:14) m4a1fox написал(а):
Risyaalex
А теперь посмотри как это реализованно на самой странице карусели.
Вот исходник от туда

<script type="text/javascript">

jQuery(document).ready(function() {
// Initialise the first and second carousel by class selector.
// Note that they use both the same configuration options (none in this case).

jQuery('.first-and-second-carousel').jcarousel();

// If you want to use a caoursel with different configuration options,
// you have to initialise it seperately.
// We do it by an id selector here.

jQuery('#third-carousel').jcarousel({
vertical: true
});
});

</
script>


<ul id="first-carousel" class="first-and-second-carousel jcarousel-skin-tango">
<li><img
src="http://static.flickr.com/66/199481236_dc98b5abb3_s.jpg" width="75" height="75" alt="" /></li>
<li><img
src="http://static.flickr.com/75/199481072_b4a0d09597_s.jpg" width="75" height="75" alt="" /></li>
<li><img
src="http://static.flickr.com/57/199481087_33ae73a8de_s.jpg" width="75" height="75" alt="" /></li>
<li><img
src="http://static.flickr.com/77/199481108_4359e6b971_s.jpg" width="75" height="75" alt="" /></li>
<li><img
src="http://static.flickr.com/58/199481143_3c148d9dd3_s.jpg" width="75" height="75" alt="" /></li>
<li><img
src="http://static.flickr.com/72/199481203_ad4cdcf109_s.jpg" width="75" height="75" alt="" /></li>
<li><img
src="http://static.flickr.com/58/199481218_264ce20da0_s.jpg" width="75" height="75" alt="" /></li>
<li><img
src="http://static.flickr.com/69/199481255_fdfe885f87_s.jpg" width="75" height="75" alt="" /></li>
<li><img
src="http://static.flickr.com/60/199480111_87d4cb3e38_s.jpg" width="75" height="75" alt="" /></li>
<li><img
src="http://static.flickr.com/70/229228324_08223b70fa_s.jpg" width="75" height="75" alt="" /></li>
</ul>



Тебе нужно вывести фотки как список. А не как echo...

Спустя 14 минут, 13 секунд (18.06.2011 - 12:29) Risyaalex написал(а):
это немного другая реализация, галерея что я ставлю называется точно - jQuery Image Scale Carousel, вот ссылка на нее http://johnpatrickgiven.com/jquery/Image-Scale-Carousel/

Спустя 16 минут, 3 секунды (18.06.2011 - 12:45) m4a1fox написал(а):
Risyaalex
Ого! Круто... Тогда нужно думать....

Спустя 8 минут, 46 секунд (18.06.2011 - 12:53) Risyaalex написал(а):
=)))

Спустя 4 часа, 41 минута, 34 секунды (18.06.2011 - 17:35) alex12060 написал(а):
Risyaalex

открываешь папку для просмотра, пробегаешься по ней в цикле, ищешь файлы с нужным расширением и выводишь полную ссылку.

элементарно же)

Спустя 1 час, 2 минуты, 18 секунд (18.06.2011 - 18:37) Risyaalex написал(а):
alex12060
ну, если бы для меня было элементарно я бы не спрашивала))
теоретически я понимаю что для этого нужно сделать, а вот написать цикл - сложнее...

Спустя 48 минут, 36 секунд (18.06.2011 - 19:26) alex12060 написал(а):
Сменишь аватарку, помгу smile.gif

Спустя 1 час, 9 минут, 14 секунд (18.06.2011 - 20:35) Risyaalex написал(а):
хы)) так лучше?)

Спустя 46 минут, 19 секунд (18.06.2011 - 21:21) alex12060 написал(а):

echo 'var carousel_images = ['."\r\n";

$dir = opendir('.');
while($file = readdir($dir)) {
$tmp = pathinfo($file);

if (in_array($tmp['extension'], array('jpg', 'png', 'bmp'))) {
echo '"my/'.$file.'",'."\r\n";
}
}

echo '];'."\r\n";


Спустя 1 час, 8 минут, 10 секунд (18.06.2011 - 22:30) Risyaalex написал(а):
ммм
если я сейчас что то тупое напишу, сорри

это на js написано? можно с объяснением, плиз. не пойму каким боком это прилепить к моей функции

Спустя 9 минут, 52 секунды (18.06.2011 - 22:39) alex12060 написал(а):
Risyaalex

Эх ладно, поясню.
В общем, допустим, у тебя есть страница. К ней нужно подключить плагин, и как параметр к нему передавать массив картинок, всех, которые есть у тебя в определенной папке.

Зачем страдать фигне и писать заного новые картинки в файл, когда можно считать все файлы с папки и пихать их динамически на страницу не делая лишних телодвижений.

В общем, сначала мы выводим на экран само пояснение о том, что мы собираемся делать дополнение к ЖС.

var carousel_images = [

Далее, мы открываем каталог, как бы функцией.
Далее, мы открываем цикл, и пробегаемся по каталогу. С каждой итерацией мы проверяем, чтобы расширение фйла подходило под указанные в массиве (производим поиск), и если подходит, выводим как параметр в массив ЖС

"/my/test.jpg"
"/my/test1.jpg"
"/my/test2.jpg"

Ну и далее, выводим закрывающий тег массива ЖС.

Все. Протестируй, почитай мануал по функциям и все smile.gif

Спустя 11 минут, 59 секунд (18.06.2011 - 22:51) Игорь_Vasinsky написал(а):
ооо.. дада.. я щас занимаюсь одним проектом,скоро жайду до файлового менеджера, прям руки чешутся wink.gif

но у меня свои идею., даж иконки файлов и прочая лабуда rolleyes.gif

Спустя 22 часа, 45 минут, 41 секунда (19.06.2011 - 21:37) Risyaalex написал(а):
alex12060
я не собиралась писать новые картинки в файл! я просто хотела получить путь ко всем изображениям циклом. то что вы объяснили последним сообщением - это пояснение функции которую я выложила изначально, мне в ней все понятно. я хотела бы понять то что вы написали - потому что для меня js темный лес, тем более непонятно почему там присутствует echo - это насколько я знаю php. поэтому и уточняю это js или php, потому как на php я это могу сделать, но мне нужно именно на js. То есть заменить
var carousel_images = [
"my/x_2deaa1f2.jpg",
"my/x_2e311136.jpg",
"my/x_3ae63a52.jpg",
"my/x_05e38750.jpg",
"my/x_87e97721.jpg",
"my/x_179c84a4.jpg",
"my/x_88232c5e.jpg",
"my/x_a2d64e19.jpg",
"my/x_a76729f1.jpg",
"my/x_c3106ab4.jpg",
"my/x_d1b23888.jpg",
"my/x_dc6db212.jpg",
"my/x_df379034.jpg"
];

циклом, не меняя дальнейшей структуры

Спустя 25 минут, 1 секунда (19.06.2011 - 22:02) alex12060 написал(а):
Risyaalex

Покажи начальные данные (что есть)
и что надо получить.

Спустя 2 минуты, 58 секунд (19.06.2011 - 22:05) alex12060 написал(а):
Стоп, ты хочешь получить список файлов в директории на сервере при помощи JavaScript?
Ой не, так не получится. JS это язык пользователя, браузера. Он никоим образом не сможет сделать то, что сможет сделать PHP (серверный язык).

Это равносильно, что доверить опасные реактивы химика ученику 2-го класса с углубленным изучением мировой литературы.

Спустя 12 минут, 55 секунд (19.06.2011 - 22:18) Risyaalex написал(а):
ммм, теперь понятно) ладно, буду мудрить что то!
спасибо большое
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.