|
|
|
| У меня есть чат, в чате есть файл, который генерирует код всех фреймов. Я пытаюсь добавить в один из фреймов код виртуального радио, данные котрого хранятся в файле следующим образом.
-------------------------
Файл 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? | |
|
|
|
|
|
|
|
для: 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>');
//........код.........
?> | |
|
|
|
|
|
|
|
для: Yuriev
(19.05.2009 в 11:14)
| | Yuriev , т.е. вы предлагаете внутри javascript использовать php переменные. Помоему это по меньшей мере невозможно ) | |
|
|
|
|
|
|
|
для: 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") - даст ошибку. Всегда помните о слешах | |
|
|
|