Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2011, 22:22   #21
dem66
Форумчанин
 
Регистрация: 31.05.2011
Сообщений: 316
По умолчанию

а то что если поменяется конфиг то прийдется дописывать и скрипт. вобщем суть такова: открыть и прочитать строки из файла,который имеет следующий формат: а) каждый новый параметр указывается в отдельной строке. б) строка с параметром состоит из ключа и значения, которые розделены символом =. в) ключ может быть разбит на несколько секций,другой ключ не может быть указан таким образом,чтоб эта же секция содержала значение
dem66 вне форума Ответить с цитированием
Старый 02.06.2011, 22:25   #22
dem66
Форумчанин
 
Регистрация: 31.05.2011
Сообщений: 316
По умолчанию

при чтении предоставленого файла нужно сформировать асоциативный масив,который содержит масивы секций или значений,который вывести по завершению чтения файла директивой принт_р.
вот написал все так как было написано в задании
dem66 вне форума Ответить с цитированием
Старый 02.06.2011, 22:27   #23
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

А вы уже как-то убедились в том, что скрипт надо будет переписывать, если появится еще несколько строк, или только предполагаете? На основании чего вы это решили?
Если делить по explode, в результирующем массиве получите все части исходной строки, как и нужно. А есть еще функция file - она тоже работает со всеми строками. Ничего не надо дописывать.
motorway вне форума Ответить с цитированием
Старый 02.06.2011, 22:28   #24
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

По-моему, вы как-то перебегаете от одной части к другой, вместо того, чтобы последовательно делать. Что конкретно не получается именно в этот момент времени, и что уже сделано?
motorway вне форума Ответить с цитированием
Старый 02.06.2011, 22:52   #25
dem66
Форумчанин
 
Регистрация: 31.05.2011
Сообщений: 316
По умолчанию

узнал,скрипт для этого текстового файла.новые строчки добавлятся не будут. сейчас убрал цикл внизу скрипта и просто сделал print_r($array,1) вывело масив. нужно уговорить теперь его розбить все это дело по секциям.допустим масив text содержит в себе name и description. при этом они долны выводится и использоватся как ключи.тоесть "text" => array( "name" => "myname", "description"=> "mama mila papu" ).
dem66 вне форума Ответить с цитированием
Старый 02.06.2011, 23:01   #26
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Я вам сверху написал примерно, как это делается.
Поразмыслите тогда над таким кодом и потестируйте его в браузере:
Код:
$ar['a']['b']=11;
$ar['a']['c']=11;
echo var_dump($ar);
motorway вне форума Ответить с цитированием
Старый 03.06.2011, 13:07   #27
dem66
Форумчанин
 
Регистрация: 31.05.2011
Сообщений: 316
По умолчанию

Вот небольшие нароботки

Код:
<?php
$ar['test']['name']="MyName";
$ar['test']['description']="mama mila papu";

$ar['bassic']['storage']['url']="http://yousitename.ru";
$ar['bassic']['storage']['title']="SITE";
$ar['bassic']['storage']['size']="1Gb";

$ar['enable']="1";

$ar['googlebot']['rule']="robots.txt";
ksort($ar);
//echo var_dump($ar);
echo"<h5><pre>".print_r($ar,1)."</pre></h5>";
?>
---------------- Результат -----------------------

Array
(
[bassic] => Array
(
[storage] => Array
(
[url] => http://yousitename.ru
[title] => SITE
[size] => 1Gb
)

)

[enable] => 1
[googlebot] => Array
(
[rule] => robots.txt
)

[test] => Array
(
[name] => MyName
[description] => mama mila papu
)

)

=================================== =============================

Код:
<?php
error_reporting(E_ALL);
    // вытаскиваем данные из нужного файла
$string = file_get_contents('mytest.conf');
    // выкидываем кавычки
//$string = str_replace('"', '', $string);
    // разбиваем строку на массив
$array  = explode("\n", $string);
//Сортируем массив
ksort($array);

$str = explode('=', $array[1]);

$res = array_combine(array($str[0]),array($str[1]));

echo"<h5><pre>".print_r($res,1)."</pre></h5>";
?>
---------------- Результат -----------------------

Array
(
[bassic.storage.url] => http://yousitename.ru
)


Есть какието идеи?
dem66 вне форума Ответить с цитированием
Старый 03.06.2011, 13:28   #28
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Ну а это соответствует тому, что нужно, или есть ошибки?
motorway вне форума Ответить с цитированием
Старый 03.06.2011, 13:39   #29
dem66
Форумчанин
 
Регистрация: 31.05.2011
Сообщений: 316
По умолчанию

Результат первого скрипта соответствует задаче. масив свормирован и выведен, это какраз то что нужно. НО массив я собирал вручную
Код:
$ar['test']['name']="MyName";
$ar['test']['description']="mama mila papu";

$ar['bassic']['storage']['url']="http://yousitename.ru";
$ar['bassic']['storage']['title']="SITE";
$ar['bassic']['storage']['size']="1Gb";

$ar['enable']="1";

$ar['googlebot']['rule']="robots.txt";
А нужно чтобы это все прочиталось из файла.То что я пытался сделать во втором скрипте. В этом то и вся проблема.
dem66 вне форума Ответить с цитированием
Старый 03.06.2011, 13:58   #30
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Я же написал - парсите строки по разделителям в виде точки и подставляете эти части между точками в качестве индекса элемента массива.
motorway вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема в решении задачи [С++] asp1k Помощь студентам 0 17.11.2010 16:16
помогите в решении задачи. gaddam Паскаль, Turbo Pascal, PascalABC.NET 2 24.11.2008 19:06
Помогите в решении задачи! Toxass Общие вопросы Delphi 16 19.11.2008 22:06