Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Функция сохранения в файл массива 
:(
    Опции темы
Elfet
Дата 25.2.2008, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Цитата(gta4kv @  25.2.2008,  16:07 Найти цитируемый пост)
str_replace( $oldValue, $newValue, $txt )

Было у меня в настройках три "1", а теперь там все "3" - кажется мне что этот код работать не будет smile


--------------------
PM MAIL WWW Skype   Вверх
gta4kv
Дата 25.2.2008, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



Цитата(Elfet @ 25.2.2008,  15:22)
Цитата(gta4kv @  25.2.2008,  16:07 Найти цитируемый пост)
str_replace( $oldValue, $newValue, $txt )

Было у меня в настройках три "1", а теперь там все "3" - кажется мне что этот код работать не будет smile

Ой, не подумал. и вправду. smile

Добавлено через 45 секунд
Хотя нет, подумал, щас напишу пример
PM MAIL   Вверх
gta4kv
Дата 25.2.2008, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



Получилось не легче, но работает, ( записать правильно так и не удалось smile  все ок) 
Код

<fieldset>
    <form action="?me" method="post">
        lol: <input type="text" name="lol" /> <br />
        rofl: <input type="text" name="rofl" /> <br />
        elfet: <input type="text" name="elfet" /> <br />
        <input type="submit" value="test" />
    </form>
</fieldset>

<?php

$config = array(
    'lol' => 'loleng',
    'rofl' => 'rofoleng',
    'elfet' => 'elfeteng',
);

if( isset( $_GET['me'] ) )
{
    $key = array_keys( $_POST );
    $keys = array_keys( $config );

    $i = 0;
    $newconfig = $config;
    
    
    while( $i < count( $key ) - 1 )
    {
        $newconfig = str_replace( "'" . $key[ $i ] . '\' => \'' . $config[ $keys [ $i ] ] . "'",
                                  "'" . $key[ $i ] . '\' => \'' . $_POST[ $keys [ $i ] ] . "'\n", $newconfig );
        $i++;
    }
    
    
    $key = array_keys( $newconfig );
    $content = "<?php\n";
    $i = 0;
    $content .= '$config = array( ' . "\n";
    while ( $i < count( $key ) )
    {
        $content .= "'" . $key[ $i ] . '\' => \'' . $_POST[ $keys [ $i ] ] . ",'\n";
        $i++;
    }
    $content .= ");\n";
    $content .= '?>';
    
    file_put_contents( 'test.txt', $content );
}

    
?>


Добавлено @ 15:49
тут расчет идет что name'ы у полей, равны названиям полей конфига. все равно лучше чем твой первый пост)

Добавлено @ 15:51
Получилось не легче тока из-за проблемы записи массива в файл. smile

Это сообщение отредактировал(а) gta4kv - 25.2.2008, 16:27
PM MAIL   Вверх
Elfet
Дата 25.2.2008, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



gta4kv, нет, теперь мой лучше smile Что если в массиве ещё массивы? И теперь bool перейдет в 'bool' : true -> 'true' & 1 -> '1' ;)


--------------------
PM MAIL WWW Skype   Вверх
smartov
Дата 25.2.2008, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Elfet, то есть для того, чтобы иметь возможность потом заинклудить файл ты изобрел велосипед два раза?
А нельзя было не изобретать ни разу но срхранять (просто для примера возьму) используя serialize, а там, где у тебя сейчас include делать unserialize?
PM MAIL   Вверх
Elfet
Дата 25.2.2008, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Почему два раза? Один smile 
Я сначала подключал файл настроек просто инклудом. Теперь захотел сделать админку где эти настройки можно было бы испавить.

PS Меня ещё интересует насколько опасно таким кодом пользоваться? smile


--------------------
PM MAIL WWW Skype   Вверх
smartov
Дата 26.2.2008, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Цитата(Elfet @  25.2.2008,  17:49 Найти цитируемый пост)
Почему два раза? Один 

1) сериализация
2) file_put_contents
PM MAIL   Вверх
Vaulter
Дата 26.2.2008, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 6
Всего: 22



а не проще все хранить в таблице... variables?


--------------------
PM MAIL WWW ICQ   Вверх
Elfet
Дата 26.2.2008, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Цитата(smartov @  26.2.2008,  13:45 Найти цитируемый пост)
2) file_put_contents 

Это что бы в php4 работало. Разве не так? smile


--------------------
PM MAIL WWW Skype   Вверх
smartov
Дата 26.2.2008, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Elfet, а у тебя что php4? ;) 
PM MAIL   Вверх
Arhar
Дата 26.2.2008, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 16.2.2008

Репутация: нет
Всего: нет



где вы видите в этом коде сериализацию???
это запись в формате
Код

<?php
$name=array(
'key1'=>array(
'innerkey'=>'innervalue',
),
'key2'=>'true',
'key3'=>10,
'key4'=>'text',
);
?>

и потом делая
Код

include 'settings.php'

получаем в скрипте сразу
Код

$name['key1']['innerkey']=='innervalue'



вариант проще - 
записывать в формате
Код

<?php
$name = 'сериализованныймассив';
?>

тогда в скрипте после инклюда надо просто делать unserialize
PM MAIL   Вверх
gta4kv
Дата 26.2.2008, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



Цитата(smartov @ 26.2.2008,  18:58)
Elfet, а у тебя что php4? ;)

У него так что бы работало на всех версия. ;)
PM MAIL   Вверх
smartov
Дата 27.2.2008, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Цитата(Arhar @  26.2.2008,  18:56 Найти цитируемый пост)
где вы видите в этом коде сериализацию???

Сериализация не есть "четко закрепленный алгоритм". 

Цитата(gta4kv @  26.2.2008,  19:04 Найти цитируемый пост)
У него так что бы работало на всех версия. ;)

В третей работать не будет. Ее тоже поддержать? smile
ИМХО не совсем верное решение поддерживать PHP4, если только на это нет каких-то острых причин. PHP5 уже много лет. PHP6 на носу. 
PM MAIL   Вверх
Arhar
Дата 28.2.2008, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 16.2.2008

Репутация: нет
Всего: нет



Цитата

Сериализация не есть "четко закрепленный алгоритм". 

ммм...в контексте форума php?
раз в языке есть функция serialize, то говоря "сериализация" наверно подразумевается результат именно этой функции, разве нет?
PM MAIL   Вверх
smartov
Дата 28.2.2008, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Arhar, говоря сериализация я подразумеваю сериализацию, а не функцию serialize которая является одной из реализаций сериализации.
(Блин сильно много окончаний "ция" получилось )
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1296 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.