Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Изменение пути к папке или абсолютный путь
 
 автор: immortal727   (06.03.2015 в 10:30)   письмо автору
 
 

Есть скрипт, который показывает фотографии из папки (слайдер).
<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/'; - не работает

  Ответить  
 
 автор: elenaki   (06.03.2015 в 11:12)   письмо автору
 
   для: immortal727   (06.03.2015 в 10:30)
 

с абсолютными путями scandir не работает, вроде бы. А что в html?

  Ответить  
 
 автор: KPETuH   (06.03.2015 в 11:14)   письмо автору
 
   для: immortal727   (06.03.2015 в 10:30)
 

например у меня так

$dir = scandir($_SERVER["DOCUMENT_ROOT"]."/images/doors_temp/");


http://site.ru/images/interier/ - это не путь это урл.

  Ответить  
 
 автор: immortal727   (06.03.2015 в 11:25)   письмо автору
 
   для: KPETuH   (06.03.2015 в 11:14)
 

Лучше, но тогда получается url вида
file:///D:/OpenServer/domains/akvatoriya/images/interier/interier-1.jpg

Пока локально делаю

  Ответить  
 
 автор: KPETuH   (06.03.2015 в 11:33)   письмо автору
 
   для: immortal727   (06.03.2015 в 11:25)
 

Мне кажется вы просто неправильно формируете массив.

Я абсолютные пути использую при получении списка файлов, а вот уже в js (html) использую относительные типа
/images/slider

вообще зачем вы используете цикл когда есть
implode

  Ответить  
 
 автор: immortal727   (06.03.2015 в 11:57)   письмо автору
 
   для: 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>

  Ответить  
 
 автор: KPETuH   (06.03.2015 в 12:09)   письмо автору
 
   для: immortal727   (06.03.2015 в 11:57)
 

зачем вам вообще смешивать js, php, html

php извлекаете список файлов, тут же выводите картинки в html

а уже в jquery работаете с этими картинками

  Ответить  
 
 автор: KPETuH   (06.03.2015 в 12:13)   письмо автору
 
   для: 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 делайте сладер из этих картинок

  Ответить  
 
 автор: immortal727   (06.03.2015 в 12:27)   письмо автору
 
   для: KPETuH   (06.03.2015 в 12:13)
 

Вы меня теперь вообще запутали. Тогда выведутся все картинки и никакого слайдера.

  Ответить  
 
 автор: KPETuH   (06.03.2015 в 13:07)   письмо автору
 
   для: immortal727   (06.03.2015 в 12:27)
 

так а как вы себе представляете работу слайдера? )

выводятся все картинки, вот только в видимой области 1 или несколько, а остальных вы просто не видите ), с помощью js или jquery вы их перемещаете.

по крайней мере те скрипты которые мне встречались работают по такому принципу.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования