Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> modyfikacja linijki w pliku
Ma4el
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 7.06.2002

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


problem taki:
w pliku dane sa tak zapisywane:
nr||nazwa||rodzaj||ile||autor||nr2

i zrobilem skrypt do modyfikacji tego wpisu , teorytycznie wg. mnie jest dobry tylko cos nie dziala o to skrypt:
<?
$dane="$id||$nazwa||$rodzaj||$cd||$autor||2||n";
$dfile="gry/gry.db";
}
$file = file($dfile);
$total = count($file);
for($i=0; $total > $i; $i++){
$split = explode("||", $file[$i]);
if($split[0] == "$id"){
$przed = "$split[0]||$split[1]||$split[2]||$split[3]||$split[4]||$split[5]||n";
$po = "$dane";
$fp = fopen($dfile, "r");
flock($fp,1);
$zaw = fread($fp, filesize($dfile));
fclose($fp);
$po = str_replace("$przed","$po", $zaw);
$fp = fopen($dfile, "w");
flock($fp,2);
fwrite($fp, $po);
fclose($fp);
echo"<center>Zmiany zostały zapisane";
}

?>
moze wiecie jak mi pomoc (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) lub znacie jakis inny sposob na modyfikowanie danej linijki ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
castor
post
Post #2





Grupa: Zarejestrowani
Postów: 456
Pomógł: 0
Dołączył: --

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


Cytat
problem taki:  
w pliku dane sa tak zapisywane:  
nr||nazwa||rodzaj||ile||autor||nr2  

i zrobilem skrypt do modyfikacji tego wpisu , teorytycznie wg. mnie jest dobry tylko cos nie dziala o to skrypt:  
<?  
$dane="$id||$nazwa||$rodzaj||$cd||$autor||2||n";  

te wszystkie zmienne zakladam ze masz gdzies zadeklarowane?
Cytat
$dfile="gry/gry.db";  
}  

po co ta klamra?
Cytat
$file = file($dfile);  
$total = count($file);  
for($i=0; $total > $i; $i++){  
$split = explode("||", $file[$i]);  
if($split[0] == "$id"){  
$przed = "$split[0]||$split[1]||$split[2]||$split[3]||$split[4]||$split[5]||n";

jak sie juz uparles tak to dlaczego nie
$przed=$file[$i]
Cytat
 
$po = "$dane";  
$fp = fopen($dfile, "r");  
flock($fp,1);  
$zaw = fread($fp, filesize($dfile));  
fclose($fp);  
$po = str_replace("$przed","$po", $zaw);  
$fp = fopen($dfile, "w");  
flock($fp,2);  
fwrite($fp, $po);  
fclose($fp);  
echo"<center>Zmiany zostały zapisane";  
}  

brakuje zamkniecia klamra petli for()
Cytat
?>  
moze wiecie jak mi pomoc (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) lub znacie jakis inny sposob na modyfikowanie danej linijki ?


strasznie dziwnie do tego podchodzisz 8O

np:

Kod
<?

$idLiniDoZmiany=13;

$daneDoZmiany="13||autor||tytul||cd||cosTamPoZmianien";

$plik='plik.db';

$f=file($plik);

for($i=0;$i<count($f);$i++){

     $ex=explode('||',$f[$i]);

     if($ex[0]==$idLiniDoZmiany){

             $f[$i]=$daneDoZmiany;

             break;

     }

}



$fp=fopen($plik,"w");

fwrite($fp,implode('',$f));

fclose($fp);       

?>
jedna z mozliwosci

:wink:
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: 25.12.2025 - 15:42