|
|
|
| Есть скрипт, который показывает фотографии из папки (слайдер).
<script type="text/javascript">
<?
$images = array();
$folder ='images/interier/';
$array_to_js='var imgs=[';
$all_files = scandir($folder);
for ($i=2; $i<=sizeof($all_files)-1; $i++) {
$array_to_js.='"'.$folder.$all_files[$i].'",';
}
echo substr($array_to_js,0,-1).'];';
?>
var n = 0;
var time = 2000;
var delay = 3000;
var play=setInterval("chgImg(1)", delay);
function chgImg(x) {
n=n+x;
if (n>=imgs.length) n=0;
if (n<0) n=imgs.length;
$('#slide_show').fadeOut(time, function() {
$(this).attr('src', imgs[n]).fadeIn(time);
});
}
function scroll_img(x) {
clearInterval(play);
chgImg(x);
play=setInterval("chgImg(1)", delay);
}
|
Он работает скажем на странице http://site.ru
Но перестает работать на странице http://site.ru/category/main.html
Путь изменяется. В скрипте сделан относительный путь, но как прописать абсолютный путь не пойму.
Прописываю в переменной $folder ='http://site.ru/images/interier/'; - не работает | |
|
|
|
|
|
|
|
для: immortal727
(06.03.2015 в 10:30)
| | с абсолютными путями scandir не работает, вроде бы. А что в html? | |
|
|
|
|
|
|
|
для: immortal727
(06.03.2015 в 10:30)
| | например у меня так
$dir = scandir($_SERVER["DOCUMENT_ROOT"]."/images/doors_temp/");
|
http://site.ru/images/interier/ - это не путь это урл. | |
|
|
|
|
|
|
|
для: KPETuH
(06.03.2015 в 11:14)
| | Лучше, но тогда получается url вида
file:///D:/OpenServer/domains/akvatoriya/images/interier/interier-1.jpg
Пока локально делаю | |
|
|
|
|
|
|
|
для: immortal727
(06.03.2015 в 11:25)
| | Мне кажется вы просто неправильно формируете массив.
Я абсолютные пути использую при получении списка файлов, а вот уже в js (html) использую относительные типа
вообще зачем вы используете цикл когда есть | |
|
|
|
|
|
|
|
для: KPETuH
(06.03.2015 в 11:33)
| | Не знаю как правильно применить
<?
$images = array();
$folder =$_SERVER["DOCUMENT_ROOT"].'/images/interier/';
$array_to_js='var imgs=[';
$all_files = scandir($folder);
$array_to_js=implode(",",$all_files);
/*for ($i=2; $i<=sizeof($all_files)-1; $i++) {
$array_to_js.='"'.$folder.$all_files[$i].'",';
}*/
echo substr($array_to_js,0,-1).'];';
?>
|
А в html
<div class="carusel" >
<img src="<? echo $_SERVER["DOCUMENT_ROOT"]; ?>/images/interier/interier-1.jpg" alt="Интерьер клуба Акватории" id="slide_show" />
<div class="scroll">
<input type="submit" onclick="scroll_img(-2)" value="Предыдущая">
<input type="submit" onclick="scroll_img(1)" value="Следующая">
</div>
</div>
|
| |
|
|
|
|
|
|
|
для: immortal727
(06.03.2015 в 11:57)
| | зачем вам вообще смешивать js, php, html
php извлекаете список файлов, тут же выводите картинки в html
а уже в jquery работаете с этими картинками | |
|
|
|
|
|
|
|
для: KPETuH
(06.03.2015 в 12:09)
| | что нибудь типа
<div id='slider'>
<?
$folder ='/images/interier/';
$all_files = scandir($_SERVER["DOCUMENT_ROOT"].$folder);
unset($all_files[0]);
unset($all_files[1]);
foreach ($all_files as $value) {
echo "<img src='{$folder}{$value}' alt='{$value}'>";
}
?>
</div>
|
а потом уже в jquery делайте сладер из этих картинок | |
|
|
|
|
|
|
|
для: KPETuH
(06.03.2015 в 12:13)
| | Вы меня теперь вообще запутали. Тогда выведутся все картинки и никакого слайдера. | |
|
|
|
|
|
|
|
для: immortal727
(06.03.2015 в 12:27)
| | так а как вы себе представляете работу слайдера? )
выводятся все картинки, вот только в видимой области 1 или несколько, а остальных вы просто не видите ), с помощью js или jquery вы их перемещаете.
по крайней мере те скрипты которые мне встречались работают по такому принципу. | |
|
|
|