Kliknite tukaj, da si ogledate profil, kot ga vidijo drugi
 
Domov > Forum > Računalništvo

S PHP kodo izvleči določeno vrstico iz datoteke?

 
 
1.9.2011, 19:14
okej, nimam pojma kako bi to dosegu vem pa da je možno :p

na serverju mam datoteko "server.cfg"
v njej je 10. vrstica:
sv_password "geslo12345"

a mogoče kdo lahko pomaga in mi prilepi tako kodo ki bi mi ob odprtju datoteke "koda.php" ki je v isti mapi kot "server.cfg" pokazala prazno stran z besedilom:
sv_password "geslo12345"

ali pa tudi samo: geslo12345 (če se da izvleči vn?)

brsku sm po netu pa me une get funkcije samo zmedejo totalka ...


spremenil: Matej V. (1.9.2011 ob 20.52.48)
 
 
 
1.9.2011, 19:25

<?php
include 'server.cfg ' ;
?>
 
 
 
1.9.2011, 19:28
Če prebereš to lekcijo, ti bo lahko približno jasno, kako bereš podatke iz datoteke:
http://www.zmaga.com/ucenje.php?id=1328

V splošnem pa bi bila koda recimo naslednja:
<?php
$datoteka = fopen('server.cfg', 'r') or die("Ne morem odpreti datoteke.");
while (!feof($datoteka)) {
$vrstica = fgets($datoteka, 4096);
if (strpos($vrstica,'password')>0) echo $vrstica;
}
?>
 
 
 
1.9.2011, 20:18
Podatelj pa se ne more tud z include odpret.
 
 
 
1.9.2011, 20:58
podtalje:
Če prebereš to lekcijo, ti bo lahko približno jasno, kako bereš podatke iz datoteke:
http://www.zmaga.com/ucenje.php?id=1328
V splošnem pa bi bila koda recimo naslednja:
&lt;?php
$datoteka = fopen('server.cfg', 'r') or die("Ne morem odpreti datoteke.");
while (!feof($datoteka)) {
$vrstica = fgets($datoteka, 4096);
if (strpos($vrstica,'password')&gt;0) echo $vrstica;
}
?&gt;


Hehe deluje deluje, samo je ena fora...
datoteka vsebuje dve vrstici kjer se pojavi beseda password in mi zato napise takole:
rcon_password "blablabla" sv_password "geslo12345"

v datoteki je pa tako:
rcon_password "blablabla"
sv_password "geslo12345"
 
 
 
1.9.2011, 22:34
<?php
$datoteka = fopen('server.cfg', 'r') or die("Ne morem odpreti datoteke.");
while (!feof($datoteka)) {
$vrstica = fgets($datoteka, 4096);
if (strpos($vrstica,'password')>0)
echo " <br> $vrstica";
}
?>

Takole
 
 
 
1.9.2011, 23:20
napoli:
&lt;?php
$datoteka = fopen('server.cfg', 'r') or die("Ne morem odpreti datoteke.");
while (!feof($datoteka)) {
$vrstica = fgets($datoteka, 4096);
if (strpos($vrstica,'password')&gt;0)
echo " &lt;br&gt; $vrstica";
}
?&gt;

Takole


Hvala lepa sem pogruntal kaj sem mel narobe, ugl, hotel sem da mi pokaze samo eno kodo (sv_password"geslo12345" ) ugl to sem sedaj popravil tako da sem uno drugo dal prego drugega cfg fajla

Tko da ej hvala ful ste mi pomagali d best ste

A bi mi lahko mogoce gdo postal kodo ki pa bi imela en okncek za vpisovanje ki bi ob pritisku gumba "spremeni geslo" spremenila to vrstico v datoteki??? Vem da vam morim s tem da vs prosm za te kode sam kaj k sm na php podrocju šele u povojih.. zaenkrat znam sam kej iz različnih kod skupi dat... Neki pa improvizirat z "kokr se mi zdi" metodo .. Ni kej stručkoti ste, to se vidi...


spremenil: Matej V. (2.9.2011 ob 06.30.48)
 
 
 
2.9.2011, 0:22
Lahko napišem nekaj povsem na pamet, za delovanje pa boš moral malo sam preveriti.

Na stran daj nekam formo za vnos podatka:
<form action="" method="get">
Vnesi novo kodo:
<input type="text" value="" name="koda">
<input type="submit" value="Spremeni">
</form>


Nato pa nekam v dokumentu dodaj še naslednjo kodo, najbolje kar na začetek dokumenta.

<?php
if (isset($_GET['koda'])) { //ce je bil oddan obrazec
$datoteka = fopen('server.cfg', 'r') or die("Ne morem odpreti datoteke.");
$novo='';
while (!feof($datoteka)) {
$vrstica = fgets($datoteka, 4096);
if (strpos($vrstica,'sv_password')!==false)
$novo.=$_GET['koda']."\n";
else
$novo.=$vrstica."\n";
fclose($datoteka);
//prepisemo datoteko z novimi podatki
$datoteka = fopen('server.cfg', 'w') or die("Ne morem odpreti datoteke.");
fwrite($datoteka, $novo);
fclose($datoteka);
}
}
?>


Kot rečeno, sem kodo napisal povsem na pamet, tako da je verjetnost, da mogoče ne bo delovala.


spremenil: podtalje (2.9.2011 ob 00.23.29)
 
 
 
3.9.2011, 13:01
Hehe,no evo sm sprobal.

<?php
if (isset($_GET['koda'])) { //ce je bil oddan obrazec
$datoteka = fopen('server.cfg', 'r') or die("Ne morem odpreti datoteke.");
$novo='';
while (!feof($datoteka)) {
$vrstica = fgets($datoteka, 4096);
if (strpos($vrstica,'sv_password')!==false)
$novo.=$_GET['koda']."\n";
else
$novo.=$vrstica."\n";
fclose($datoteka);
//prepisemo datoteko z novimi podatki
$datoteka = fopen('server.cfg', 'w') or die("Ne morem odpreti datoteke.");
fwrite($datoteka, $novo);
fclose($datoteka);
}
}

echo "<form action='' method='get'>
Vnesi novo kodo:
<input type='text' value='' name='koda'>
<input type='submit' value='Spremeni'>
</form>"
?>

tako zgleda v datoteki.

Prikaze form pa gumb pa to use super.
Sam ko pa sem upisal v form notr: sv_password "test123"
mi je pa pokazalo celo stran erorjev ki jih označuje kot "Warning: feof(): 4 is not a valid stream resource" in enako za usako linijo kode... Probal sem tudi brez " geslo na pisat pa kr tko eno besedo, pa isto, takoda jst nevem kaj je narobe :p

Aja amm a bi lahko u formu nastavil da notri skos pise sv_password "" tako da bi moral samo to spremenit ker bi morilo zmeraj upisovat tole rocno ce bi prek mobitela dostopal recimo na stran...
 
 
Prijava in registracija
 
 
 
Zmaga.com ponuja brezplačno in razumljivo učenje računalniških programov, vas na enkraten način spozna z različnimi svetovnimi jeziki, s podrobno obrazloženimi recepti prikaže čare kulinarike in vam prežene strahove pred domačimi opravili.
 
 
Poleg tega lahko prebirate poučne članke, ki so namenjene širjenju naše splošne razgledanosti ter preverite svoje znanje z priljubljenim in enostavnim sistemom za preverjanje znanja. Če med vsebinami, ki se dodajajo vsak dan, ne najdete želenega znanja, je za vaša vprašanja na voljo dobro obiskan forum, kjer lahko tudi aktivno sodelujete. V primeru, da bi radi svoje praktično znanje delili z ostalimi, pa to lahko storite preko preprostega vmesnika za dodajanje vsebin. Zmagajte z znanjem z Zmaga.com!