Autor Zpráva
27MM20
Profil *
Dobrý deň,

robím si pár vecičiek okolo súborov a zápisov dat do txt či php súborov.
No a potreboval by som pomôcť s takou vecou že:
Do súboru kde sa ma vytvárať texty a podobne veci som dal PHP kód:
<?php
$file = "forum-2345.php";
$fh = fopen($file, "a");
$data = "aa taas skusam nee? 1";
$data2 = "aa taas skusam nee? 2";
	$stringData = "$"."2345 = "."\"".$data."\";\n";
	fwrite($fh, $stringData);
	$stringData = "$"."23452 = "."\"".$data2."\";\n";
	fwrite($fh, $stringData);
	fclose($fh);
?>


Klasika v pohode všetko zapísalo a vytvorilo súbor keď som klikol na ten súbor cez prehľadavač.
No a idem k veci. Keďže teraz je v tom súboru zapisane dva premené tj. $2345 a $23452 no a potrebujem pomocou php kódu tak spraviť, že chcel by som upraviť text v súbore pod premenou $2345 a neviem ako to mam vytiahnuť a vzájomne upraviť na taký text aký bol zadaný. Tj. že premena $2345 bude zmenená na ten text ktorý bol zadaný a premena $23452 ostane nepoškodená.
A chcel by som sa spýtať či by sa to náhodou nedalo nejako spraviť, aby to išlo zmeniť.

Ďakujem za rady a odpovede ...
MunzarM
Profil
Ahoj vykašli se na měnění obsahu php souborů, je to naprostej nesmysl a většinou ti to fungovat stejně nebude, na ukládání dat slouží databáze...
A teď k tvému dotazu...přečti si něco o parování textu

funkcí file_get_contents($filename) si načteš obsah souboru do stringu, potom máš několik možností, buď budeš hledat výskyt textu kterej potřebuješ
$find = '$2345 = "';
$pos_zacatek = strpos($stringZeSouboru,$find) + strlen($find);
$pos_konec = strpos($stringZeSouboru,'"', $pos_zacatek); // hledáš uzavírací závorky

a potom to co je mezi nahradíš čim chceš
$vyslednyText = substr($stringZeSouboru,0,$pos_zacatek); // text od zacatku do prvni uvozovky
$vyslednyText .= "cokoli co chces pridat"; // text co chces pridat
$vyslednyText .= substr($stringZeSouboru,$pos_konec,strlen($stringZeSouboru)); // text od uzavírací uvozovky do konce

a zapíšeš zpátky do souboru.

A nebo se nauč používat
str_replace - php.net
popřípadě preg_replace pěknej seriál, testování

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: