Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Odczyt danych z pliku i ponowne zapisanie
ufo1990
post
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 26.07.2019

Ostrzeżenie: (0%)
-----


Odczytuje zmienne z pliku connect.php następnie chce zapisać nowe wartości i teoretycznie poniższy kod mi działa. Jednak problem pojawia się w sytuacji kiedy występuje podobny ciąg znaków wtedy dane są aktualizowane w innych zmiennych. Pytanie, w jaki sposób powiązać aby dane zapisywane w pliku były stricte do danej zmiennej.
  1. include 'connect.php';
  2. $content = file_get_contents('connect.php');
  3. $replacementsOld = array($host, $db_user, $db_name, $db_password);
  4. $replacementsNew = array($host_new,$db_user_new,$db_name_new,$db_password_new);
  5. $content = str_replace($replacementsOld, $replacementsNew, $content);
  6. file_put_contents('connect.php', $content);





Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
vokiel
post
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


Wydaje się, że mylisz tu dwie rzeczy. Dołączenie pliku PHP aby skorzystać z zawartych w nim danych jako obiekty PHP z zapisem pliku tekstowego.

Załóżmy, że Twój plik connect.php zawiera konfigurację połączenie z bazą danych:
  1. return [
  2. 'host' => 'localhost',
  3. 'db_user' => 'username',
  4. 'db_name' => 'database',
  5. 'db_password' => 'SuperSecureP433wor0!'
  6. ];


Teraz, gdy zrobisz include takiego pliku do zmiennej możesz łatwo w kodzie korzystać z tych wartości:

  1. $config = include 'connect.php';
  2.  
  3. echo $config['host']; // localhost


Natomiast, jeśli byś chciał zapisać nowe ustawienia do pliku, to musisz po prostu odtworzyć całą zawartość w formie zwykłego tekstu, czyli:

  1. $configString = "return [
  2. 'host' => 'localhost',
  3. 'db_user' => 'username',
  4. 'db_name' => 'database',
  5. 'db_password' => 'SuperSecureP433wor0!'
  6. ];";
  7.  
  8. file_put_contents('connect.php', $configString);
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 29.12.2025 - 19:10