... soul="0" maxdepotitems="1000" lastlogin="1187549183"> <spawn x="439" y="574" z="7"/> <temple x="1000" y="1000" z="7"/> <health now="855" max="855" food="0"/> <mana now="830" max="830" spent="1567"/> ...
Skrypt ma zamieniać "<spawn x="439" y="574" z="7"/>" (kazdy plik ma inne pozycje x,y,z) na wpis z innymi losowymi pozycjami, losowanie pozycji i generowanie wpisu mam już zrobione, ale nie wiem jak w zmiennej odszukać i zamienić konkretny fragment pliku. Czyli jaką funkcją mogę zamienić fragment zaczynający sie od
<spawn x=
a kończący się na najbliższym
/>
chciałbym zamienić fragment pomiędzy lub razem z tymi kawałkami na wartość innej zmiennej. Przeglądałem wszystkie funkcje z "replace" na php.net, ale nie rozumiem składni typu "[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", więc jakby ktoś mógł mi napisać co w jakiej funkcji wpisać byłbym bardzo wdzięczny.
Czy da się jakoś ustawić atrybuty pliku w PHP? Dokładniej ustawić "Tylko do odczytu" lub wyłączyć "Tylko do odczytu"?
Kod który narazie napisałem:
<?PHP //ustawienia $playersdir = "players"; $spawn1x = "5"; $spawn1y = "5"; $spawn1z = "5"; $zasieg1 = "2"; $spawn2x = "55"; $spawn2y = "55"; $spawn2z = "7"; $zasieg2 = "6"; $spawnPRVx = "1"; $spawnPRVy = "1"; $spawnPRVz = "1"; $zasiegPRV = "2"; //ustalenie katalogu w ktorym sa pliki if ($fs != ".") { if ($fs != "..") { //ustalenie nazwy konkretnego pliku $filename = $playersdir."/".$fs; //pobranie zawartosci pliku do zmiennej $plik //ustalenie konto do sprawdzenia $konto1 = "account=\"1\""; $konto2 = "account=\"2\""; //sprawdzanie numeru konta w pliku //jesli konto 1 //losowanie pozycji dla konkretnego gracza $ujemnyzasieg = 0 - $zasieg1; $spawnx = $spawn1x + $rand1; $spawny = $spawn1y + $rand2; //skrypt przemieniajacy ustawienia w teksty dla konta 1 $spawnpoz = "<spawn x=".$spawnx."\" y=\"".$spawny."\" z=\"".$spawn1z."\">"; } //jesli konto 2 //losowanie pozycji dla konkretnego gracza $ujemnyzasieg = 0 - $zasieg2; $spawnx = $spawn2x + $rand1; $spawny = $spawn2y + $rand2; //skrypt przemieniajacy ustawienia w teksty dla konta 2 $spawnpoz = "<spawn x=".$spawnx."\" y=\"".$spawny."\" z=\"".$spawn2z."\">"; } //jesli konto PRV //losowanie pozycji dla konkretnego gracza $ujemnyzasieg = 0 - $zasiegPRV; $spawnx = $spawnPRVx + $rand1; $spawny = $spawnPRVy + $rand2; //skrypt przemieniajacy ustawienia w teksty dla konta PRV $spawnpoz = "<spawn x=".$spawnx."\" y=\"".$spawny."\" z=\"".$spawnPRVz."\">"; } } //zamykanie pliku w trybie odczytu //otwieranie pliku w trybie zapisu //znalezc <spawn x= do /> i podmienic na $spawnpoz? //zapis pliku //ustawienie w trybie tylko do odczytu? //zamykanie pliku do zapisu } } } ?>