Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

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

 

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

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

тема: Как сделать так, что бы название файлов заносилось в массив автоматически из определенной дирректории?
 
 автор: Makroris   (16.05.2008 в 12:51)   письмо автору
 
 

<a target=_blank href="Гиперссылка">
<img alt="Случайный скриншот" src="Путь к/изображению" border=0 name=SlideShow></a>

<script language=javascript>
var slideShowSpeed = 3000
var crossFadeDuration = 3
var Pic = new Array()

Pic[0] = 'Carbon/1.jpg'
Pic[1] = 'Carbon/2.jpg'
Pic[2] = 'Carbon/3.jpg'
Pic[3] = 'Carbon/4.jpg'
Pic[4] = 'Carbon/5.jpg'

var t
var j = 0
var p = Pic.length
var preLoad = new Array()
for (i = 0; i < p; i++){
preLoad[i] = new Image()
preLoad[i].src = Pic[i]
}
function runSlideShow(){
if (document.all){
document.images.SlideShow.style.filter='blendTrans(duration=2)'
document.images.SlideShow.style.filter='blendTrans(duration=crossFadeDuration)'
document.images.SlideShow.filters.blendTrans.Apply()
}
document.images.SlideShow.src = preLoad[j].src
if (document.all){
document.images.SlideShow.filters.blendTrans.Play()
}
j = j + 1
if (j > (p-1)) j=0
t = setTimeout('runSlideShow()', slideShowSpeed)
}
runSlideShow();
</script>


Подскажите, как можно сделать так что бы файлов заносилось в массив автоматически из определенной дерректории.

   
 
 автор: sim5   (18.05.2008 в 11:18)   письмо автору
 
   для: Makroris   (16.05.2008 в 12:51)
 

Что значит автоматически, при добавлении этого скрипта в страницу указывать параметры Pic[0]...Pic[4]? Так какие проблемы тогда, если учесть, что вставку РНР-кода можно делать в любом месте формируемой страницы:

//определяем неким образом файлы, и, например, результатом будет массив $file, тогда
<script language=javascript>
......
Pic[0] = '<?php echo $file[0]; ?>'; 
Pic[1] = '<?php echo $file[1]; ?>'; 
Pic[2] = '<?php echo $file[2]; ?>'; 
Pic[3] = '<?php echo $file[3]; ?>'; 
Pic[4] = '<?php echo $file[4]; ?>'; 
.......
</script>

Можно вообще подключать к странице JS как:
<script src="path/script.php" type="text/javascript"></script>
где script.php файл РНР-скрипта, который будет получать необходимые данные, вставлять их в JS-сценарии и отдавать готовый JS-скрипт на страницу. Можно подключать в РНР скриптах JS-файлы также, как, например, шаблоны и т.д., и т.п..

   
 
 автор: Makroris   (18.05.2008 в 16:41)   письмо автору
 
   для: sim5   (18.05.2008 в 11:18)
 

Что то не получается таким образом
<script language=javascript> 
...... 
Pic[0] = '<?php echo $file[0]; ?>';  


Вставить в javascript ,php выражение!

   
 
 автор: sim5   (18.05.2008 в 17:04)   письмо автору
 
   для: Makroris   (18.05.2008 в 16:41)
 

Значит что-то делаете не правильно.

   
 
 автор: Makroris   (18.05.2008 в 19:08)   письмо автору
 
   для: sim5   (18.05.2008 в 17:04)
 

ну да, что то я там с кавачками намудрил.
Я вот теперь не могу разобраться с циклом.

for (l = 0; l <'<?php  echo $iNumFiles?>'; l++)

Pic[l] ='porodi/<?php echo $aFileList[l]; ?>'


Помогите пожалуйста, я так понял, что он в php код не заходит, что делать..

   
 
 автор: sim5   (18.05.2008 в 20:20)   письмо автору
 
   для: Makroris   (18.05.2008 в 19:08)
 


Pic[0] = '<?php echo $file[0]; ?>';

здесь вставляемое в РНР значение, обрамлено кавычками, потому как содержит путь и имя файла (строковая переменная). Зачем вы значение подставляемое в цикле обрамляете в кавычки (l=0; l < <?php echo $iNumFiles; ?>; l++)? И закрывать надо точкой с запятой РНР выражения. И потом, это у вас JS-цикл (выполняется у клиента), откуда может быть взяться у клиента РНР-переменная с индексом итерации JS-цикла: $aFileList[l] ???
Можно в JS подставлять значения РНР-переменных, но никак и никуда вздумается.

   
 
 автор: Makroris   (18.05.2008 в 22:07)   письмо автору
 
   для: sim5   (18.05.2008 в 20:20)
 

<?php
$sPath 
'путь';
$dDir opendir($sPath); // открываем директорию, 
$dDir дескриптор
$aFileList 
= array(); // массив в который будем записывать имена файлов// цикл считывания директории
while ($sFileName=readdir($dDir))
{
if (
$sFileName!='.' && $sFileName!='..')
{
$aFileList[]=$sFileName;
}
}
closedir ($dDir);
// подсчет количества файлов
$iNumFiles=count($aFileList);
 
?>


Отсюда!

Так сделать, что нормально было??

   
 
 автор: sim5   (19.05.2008 в 04:57)   письмо автору
 
   для: Makroris   (18.05.2008 в 22:07)
 

Ну во-первых, вы хотя бы проверили без всяких РНР-добавок свой JS-код, уверен, что "кина" у вас не будет. Во вторых, если вам надо при каждой загрузке страницы получать в JS-сценарии новые пути к картинкам, то как их вы будете получать посредством РНР, это не важно, а как их прописать для JS-сценария на стороне сервера я уже говорил.

   
Rambler's Top100
вверх

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