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

Поиск:

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


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


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

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



Код

    function savearray($name, $arr, $file)
    {
        function formarray($from)
        {
            $r = "array (";
            foreach($from as $key=>$value)
            {
                $r .= " '".$key."' => ";
                if(is_array($value))
                {
                    $r .= formarray($value);
                }
                else if(is_bool($value))
                {
                    $r .= $value?'true':'false';
                }
                else if(is_int($value))
                {
                    $r .= intval($value);
                }                
                else 
                {
                    $r .= "'".addslashes($value)."'";
                }
                $r .= ",";
            }
            $r .= ")";
            return $r;
        }

        $content = "<?php ";
        $content .= "$".$name." = ";
        $content .= formarray($arr); 
        $content .= "; ?>";
        
    if(!function_exists('file_put_contents')) {
        function file_put_contents($filename, $content)
        {
            if($fp = @fopen($filename, 'w')) {
                $result = fwrite($fp, $content);
                fclose($fp);
                return $result;
            } else {
                return false;
            }
        }
    }
    file_put_contents($file,$content);        
    }



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


Опытный
**


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

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



Ужасно. 
Ужасны и предпосылки, которые привели к такому решению, и реализация, и полное игнорирование встроенных средств PHP.
PM MAIL   Вверх
flashaa
Дата 24.2.2008, 19:07 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



эээ.

Код

$arr = array();
file_put_contents('array.txt', serialize($arr));

PM MAIL   Вверх
CyClon
Дата 24.2.2008, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Депрессия? xD

Во-первых не вижу пользы от этой функции, во-вторых реализуется в 3 строчки тоже самое, в принципе.


--------------------
user posted image
PM   Вверх
smartov
Дата 24.2.2008, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(CyClon @  24.2.2008,  18:29 Найти цитируемый пост)
Депрессия? xD

Точно =)
PM MAIL   Вверх
CyClon
Дата 24.2.2008, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Немного подумав нашел ей применение: в недо-CMS так с конфигами мона работать, подставил значения с массива, нажал сохранить и он весь массив в файл записал %)


--------------------
user posted image
PM   Вверх
awers
Дата 24.2.2008, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



OMG. Автор, настоятельный совет открыть учебник по PHP, расположенный по адресу php.net для ознакомления с функциями, предоставляемыми по умолчанию в PHP. 
flashaa, ответил на твой вопрос ...
PM MAIL WWW ICQ Skype   Вверх
Elfet
Дата 24.2.2008, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Конечно извращенство. 
Хочу проще сохранять настройки. Записать в php файл и подключать его где нужно. Что тут можно сделать? smile

Это сообщение отредактировал(а) Elfet - 24.2.2008, 22:10


--------------------
PM MAIL WWW Skype   Вверх
awers
Дата 24.2.2008, 22:26 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



после минусов посу нехочу чем либо помогать...
PM MAIL WWW ICQ Skype   Вверх
smartov
Дата 25.2.2008, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Elfet, зачем? Лучше или записать в базу и с ней работать, или в xml, натравив на него SimpleXML для считывания/записи.

Добавлено через 2 минуты и 2 секунды
Elfet, а то получается за один файл ты два раза велосипед изобрел. Сначала serialize переписал, а потом file_put_contents. 
Да и некошерно в 21 веке настроки по plain-text файлам пихать  smile сейчас рулят хранилища данных.
PM MAIL   Вверх
Elfet
Дата 25.2.2008, 14:39 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



smartov, это я всё конечно понимаю, но когда я пишу скрипт такого небольшого размера, то мне кажется излишним его усложнение всякими настройками в бд. Тут сделал include "settings.php" и всего делов.
Чем плох такой метод?


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


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


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

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



Elfet
Цитата(Elfet @  25.2.2008,  13:39 Найти цитируемый пост)
Чем плох такой метод?

Если скрипт небольшого размера то можно и include, а вот когда настроек около сотни или просто больше 20 то встает вопрос об их структурировании.

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


Walking around mad.
***


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

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



Elfet
Ты лучше перезаписывай только нужные строки, т.е ты делаешь редактор конфигурации, сравнивай строки после сохранения, нужные - меняй.
Так, имхо, будет лучше.

Код

$file = ( 'settings.php' );
$txt = ( file_get_contents( $file ) );
file_put_contents( $file, str_replace( $oldValue, $newValue, $txt ) );


Добавлено через 1 минуту и 59 секунд
А код из первого поста - фтопку.

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


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


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

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



smartov, да, настроек-то всего-то 10-11 smile Первый листинг сохраняет массив настроек в файл которые потом я инклудю smile


gta4kv, чем лучше-то? smile


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


Walking around mad.
***


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

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



Elfet, удобнее, да и код в первом посте определенно не лучше, и массивнее. тут можно будет обойтись десятью строчками.
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.1038 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


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

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