За последние 24 часа нас посетили 22785 программистов и 1224 робота. Сейчас ищут 795 программистов ...

Изменение данных массива по ключу в файле php

Тема в разделе "PHP для новичков", создана пользователем ainur777, 19 фев 2019.

  1. ainur777

    ainur777 Активный пользователь

    С нами с:
    24 май 2013
    Сообщения:
    93
    Симпатии:
    0
    Добрый день! Возникла проблема с записью данных в файл по ключу. Раньше хранил все данные в базе, теперь же перешёл на php файл. Храню все необходимые настройки там.
    PHP:
    1. return $conf = [
    2. 'home_title' => 'TitlePage', //Титульная страница
    3. 'charset' => 'utf-8',//Кодировка сайта
    4. 'langs' => 'Rus',//Язык сайта
    5. ];
    Еще много всего. Я умею менять все данные, т.е. тупо записать весь массив в файл через fwrite. Как мне изменить определенные данные по ключу массива, к примеру home_title?.
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.825
    Симпатии:
    738
    Адрес:
    Татарстан
    PHP:
    1. $conf['home_title'] = 'new value';
     
  3. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @ainur777, читать файл целиком не вариант, потому как это и есть перезаписать его целиком. Поэтому читать нужно построчно, парсить прочитанную строку на наличие необходимого ключа и выполнять замену. Если файл небольшой, то нет смысла с этим заморачиваться. Работа с файлами гораздо сложнее чем работа с бд. Многие просто не знают о блокировках чтения и записи. В итоге получают "упс".
     
  4. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Никак, без перезаписи всего файла (точнее той части, что следует за изменяемой строкой). Длина строки фиксирована. Чтобы перезаписать только ее - нужно записывать ровно столько же символов, сколько в ней есть.
     
  5. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    Раньше хранил все данные в базе, теперь же перешёл на php файл.

    И начал создавать такие вот темы.
     
    Vanchot и Singlesly нравится это.
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Для зачем?
     
    mkramer нравится это.