Käyn php:lla tiedostoa läpi rivi riviltä luku-tilassa.
Jos riviltä löytyy määritelty merrkijono niin rivi pitäisi kirjoittaa uudelleen.
Kuinka teen tuon yksinkertaisimmin?
vaikka näin
<?php $text = ("korvataan tekstiä"); $text = ereg_replace("korvataan", "korvattiin", $text); echo $text; ?>
Tässä siis ongelma kokonaisuudessaan.
<?php $url = $_GET['osoite']; echo $url; $file = fopen("data/sub.dat", "r"); while(!feof($file)){ $row = fgets($file); $exploded = explode("|", $row); $rowurl = $exploded[5]; if($url === $rowurl) $sum = count($exploded); if($sum < 8){ /* avataan kyseinen tiedosto kyseiseltä riviltä ja kirjoitetaan rivi uudelleen */ } } fclose($file); ?>
Eli tiedosto on avattu lukutilassa.
Tuossa lopussa pitäisi avata sama tiedosto kirjoittamista varten, mikä ei ole ongelma, mutta se kuinka saan kirjoitettua juuri sille riville jota luetaan on ongelma.
Toivottavasti selvensi hieman.
Puuttuskohan sieltä jostain ihvistä kaarisulkeiset ja? Lue tiedosto vaikka file-funkkarilla.
t = file(tiedosto); rivit = laske_rivimaara(t); silmukka(i=0-(rivit-1)) { urlpos = str(i)pos(|$url|); if (urlpos !== false) { t[i] = "foobar"; break;? } }
pl0x. Aikaa kaksi minuuttia, soveltakaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.