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

Форум PHP

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

 

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

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

тема: Php // не могу вывести значения из файла
 
 автор: Blizard   (19.05.2009 в 08:42)   письмо автору
 
 

У меня есть чат, в чате есть файл, который генерирует код всех фреймов. Я пытаюсь добавить в один из фреймов код виртуального радио, данные котрого хранятся в файле следующим образом.

-------------------------
Файл radio.dat

url1^name1
url2^name2
url3^name3
-------------------------

Дальше иду в тот самый php файл и пытаюсь достать информацию из radio.dat и вывести ее, НО! почему-то не срабатывает функция file(); а срабатывает только когда я ее ставлю в самое начала файла, но после не могу использовать полученный массив.

На примерах:

1)
//........код.........
//........код.........
//........код.........
write('<tr><td>');
write('<center><br><select name=href onchange="sel(this.value);" class="input_button"><option value="" selected>RADIO</option>');
<?php
$fil = file("../../data/radio.dat");
$filc = count($fil);
for ($ii=0; $ii<$filc; $ii++)
{
$fi = explode("^", $fil[$ii]);
echo("write('<option value=".$fi[0].">".$fi[1]."</option>');");
}
?>
write('</select><br>');
write('<div id="rr"></div>');
write('</center>');
write('</td></tr>');
//........код.........
//........код.........
//........код.........

Массив $fil не получает никаких данных и разумеется не выводит в поле select

2) Потом я начал пробовать получать массив в самом начале файла, и структура получилась такая:

<?php
$fil = file("../../data/radio.dat");
$filc = count($fil);
?>
//........код.........
//........код.........
//........код.........
write('<tr><td>');
write('<center><br><select name=href onchange="sel(this.value);" class="input_button"><option value="" selected>RADIO</option>');
<?php
for ($ii=0; $ii<$filc; $ii++)
{
$fi = explode("^", $fil[$ii]);
echo("write('<option value=".$fi[0].">".$fi[1]."</option>');");
}
?>
write('</select><br>');
write('<div id="rr"></div>');
write('</center>');
write('</td></tr>');
//........код.........
//........код.........
//........код.........


В данном случае массив заполняется данными с файла и считается количество строк, но при втором включении php массив стает какбы опять несуществующим и данные в поле select не появляются.

Вопрос: почему в первом примере массив не получает данных с файла? как это исправить?
если пользоваться вторым примером, то как сделать так, чтобы значения массива $fil; сохранились до второго включения php?

  Ответить  
 
 автор: Yuriev   (19.05.2009 в 11:14)   письмо автору
 
   для: Blizard   (19.05.2009 в 08:42)
 

1)
<?php
//........код.........
write('<tr><td>');
write('<center><br><select name=href onchange="sel(this.value);" class="input_button"><option value="" selected>RADIO</option>');
//<?php убрать
$fil = file("../../data/radio.dat");
$filc = count($fil);
for ($ii=0; $ii<$filc; $ii++)
{
$fi = explode("^", $fil[$ii]);
echo("write('<option value=".$fi[0].">".$fi[1]."</option>');");
}
//?> убрать
write('</select><br>');
write('<div id="rr"></div>');
write('</center>');
write('</td></tr>');
//........код.........
?>

или
<?php
$fil = file("../../data/radio.dat");
$filc = count($fil);
//?> убрать
//........код.........
write('<tr><td>');
write('<center><br><select name=href onchange="sel(this.value);" class="input_button"><option value="" selected>RADIO</option>');
//<?php убрать
for ($ii=0; $ii<$filc; $ii++)
{
$fi = explode("^", $fil[$ii]);
echo("write('<option value=".$fi[0].">".$fi[1]."</option>');");
}
//?> убрать
write('</select><br>');
write('<div id="rr"></div>');
write('</center>');
write('</td></tr>');
//........код.........
?>

  Ответить  
 
 автор: Blizard   (19.05.2009 в 12:53)   письмо автору
 
   для: Yuriev   (19.05.2009 в 11:14)
 

Yuriev , т.е. вы предлагаете внутри javascript использовать php переменные. Помоему это по меньшей мере невозможно )

  Ответить  
 
 автор: Пятачок   (22.05.2009 в 17:05)   письмо автору
 
   для: Blizard   (19.05.2009 в 08:42)
 

Попробуйте:

<?php
...
$fil file("../../data/radio.dat");
foreach (
$fil as $stroka) {
    
$fi explode("^"$stroka);
...
}


затем как у вас храниться url? Работаете в javascript, а там write("http://ssdf.ru") - даст ошибку. Всегда помните о слешах

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

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