Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Snimanje izmenjenog elementa niza u fajl pomoću PHP-a

  • 2 odgovora
  • 1.854 pregleda

Najnovija ↓

Snimanje izmenjenog elementa niza u fajl pomoću PHP-a 24.10.2010. u 18:01 · pre 195 meseci #1
Zdravo svima.

Početnik sam u radu sa PHP-om, i treba mi pomoć. Naime, treba da otvorim jedan fajl sa ekstenzijom rptdesign a koji predstavlja fajl izveštaja generisan u BIRT-u (Business Inteligence and Reporting Tools) pomoću PHP-a, koji ima sintaksu sličnu XML-u. Kada ga otvorim potrebno je da izmenim samo određenu liniju u tom fajlu, i da snimim tako izmenjeni fajl. Za ovo koristim sledeći kod:

Code:

$lines = file('ime_fajla');
$l_count = count($lines);

$lines[347]=right;
$l_array=array();
for ($x = 0; $x < $l_count; $x++)
{
 array_push ($l_array,$lines[$x]); 
}
file_put_contents("ime_fajla", $l_array);


Međutim, u fajlu mi i dalje stoji stara vrednost a ja hoću da mi stoji vrednost koju navodim u sledećoj naredbi:

Code:


$lines[347]=right;



odnosno vrednost 'right'.

Postoji li rešenje ovog problema? Može li mi neko objasniti neki drugi način kako ovo da izvedem, pošto sam apsolutni početnik u radu sa PHP-om, a ovo moram da odradim?
Čuo sam da PHP ima i mogućnost rada sa XML-om. Postoji li neki način da se ovo izvede preko PHP-a i XML-a?
Re: Snimanje izmenjenog elementa niza u fajl pomoću PHP-a 24.10.2010. u 19:00 · pre 195 meseci #2
Code (php):

$lines = file('ime.xml');
$lines[347] = 'right';

$content = implode(PHP_EOL, $lines);
file_put_contents('ime.xml', $content);
 


Jedini problem je što ako je to XML dokument, tvoja linija ne mora uvek da bude baš 348-a niti bi morao samo taj tekst da bude u njoj. U tom slučaju trebalo bi da petljom prođeš kroz niz linija pa kada naletiš na vrednost koju želiš da promeniš, tada i promeniš tu i-tu liniju, pre ispisa nazad u datoteku. Alternativa je da zaista parsiraš XML i onda zameniš odgovarajući atribut/čvor u stablu, međutim to je svakako sporije.
Potpis
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme