Pereiti prie turinio

Duomenų nuskaitymas iš .txt failo


Rekomenduojami pranešimai

Sveiki, turiu tokį kodą:

 

<?php 
$failas="host.txt"; 
$simboliu_skaicius = count($failas); 
$stulpelis = file($failas); 

for($i=0; $simboliu_skaicius > $i; $i++){ 
	$laukelis = explode("=", $stulpelis[$i]); 
} 

echo "$laukelis[0] $laukelis[1] $laukelis[2] $laukelis[3]"; 
?>

 

 

Šitas dalykas man nuskaito tik 1 eilutę ir explodina "=". Man reikėtų, kad skaityt pradėtų nuo, pvz., 12 eilutės ir eitų žemyn iki failo pabaigos... Bandžiau visur ieškot, bet nieko neradau. Tikiuosi padėsit.

Iš anksto dėkoju :)

Redagavo v1per
Nuoroda į pranešimą
Dalintis kituose puslapiuose

<?php 
$failas="host.txt"; 
$stulpelis = file($failas); 
$kiek = count($stulpelis); 

$laukelis = array();

for($i = 12; $i < $kiek; $i++)
{ 
	$laukelis = explode("=", $stulpelis[$i]); 
	echo "$laukelis[0] $laukelis[1] $laukelis[2] $laukelis[3]"; 
} 
?>

 

Skaito nuo 12 13 eilutės.

 

Dėkui Dreigas už pastabą :-)

Redagavo iGor
Nuoroda į pranešimą
Dalintis kituose puslapiuose
<?php 
$failas="host.txt"; 
$stulpelis = file($failas); 
$kiek = count($stulpelis); 

$laukelis = array();

for($i = 12; $i < $kiek; $i++)
{ 
	$laukelis = explode("=", $stulpelis[$i]); 
	echo "$laukelis[0] $laukelis[1] $laukelis[2] $laukelis[3]"; 
} 
?>

 

Skaito nuo 12 eilutės.

 

Dėja, čia skaitys nuo 13 eilutės :) $i turi prasidėti nuo 11.

 

ir tas echo "$laukelis[0] $laukelis[1] $laukelis[2] $laukelis[3]"; turi būti tokiam pavidale:

 

echo "{$laukelis[0]} {$laukelis[1]} {$laukelis[2]} {$laukelis[3]}";

Redagavo Dreigas
Nuoroda į pranešimą
Dalintis kituose puslapiuose
Dėja, čia skaitys nuo 13 eilutės :D $i turi prasidėti nuo 11.

 

ir tas echo "$laukelis[0] $laukelis[1] $laukelis[2] $laukelis[3]"; turi būti tokiam pavidale:

 

echo "{$laukelis[0]} {$laukelis[1]} {$laukelis[2]} {$laukelis[3]}";

su {} skirtumo nėra php kompiliatoriui iš esmės :] bet žiūrisi geriau. o geriausiai žiūrisi, kai ne kabutėse kintamasis :]

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Ačiū, lyg ir gavosi, tik kaip reikėtų padaryt, kad tuos rezultatus išvestų iš naujos eilutės? Nes bandžiau į echo įterpt \n, bet nereaguoja skriptas :D

echo $laukelis [ 0 ] .' '. $laukelis [ 1 ] .' '. $laukelis [ 2 ] .' '. $laukelis [ 3 ] .'<br/>';

Redagavo MuniGod
Nuoroda į pranešimą
Dalintis kituose puslapiuose
su {} skirtumo nėra php kompiliatoriui iš esmės :] bet žiūrisi geriau. o geriausiai žiūrisi, kai ne kabutėse kintamasis :]

 

Paprastam kintamajam nereikia, o masyvui butinas.

 

 

Ok, dėkui. Tiesiog reikėjo gale echo tag'o pridėt <br />. O kaip galima padaryt, akd explodintų dagiau simbolių, nei tik "="? :] Arba vietoj vieno simbolio rodytų kitokį?

 

naudok preg_replace()

 

tarkim

 

preg_replace('/=/', 'lygu', $eilute);

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Štai dabar toks kodas:

 

 

<?php 
$failas="host.txt"; 
$stulpelis = file($failas); 
$kiek = count($stulpelis); 

$laukelis = array();

$simboliai = array();
$simboliai[0] = '/^7/';
$simboliai[1] = '/^4/';

$vietoj = array();
$vietoj[0] = '';
$vietoj[1] = '';



for($i = 11; $i < $kiek; $i++)
{ 
	$laukelis = preg_replace($simboliai, $vietoj, $laukelis[$i]); 
	echo "{$laukelis[0]} $laukelis[1] {$laukelis[2]} {$laukelis[3]} <br />"; 

} 
?>

 

Faile host.txt yra eilutė "conn=^7I^4gnas". Bet man reikia, kad atvaizduotų tik žodį "Ignas" ;) Su šituo kodu nieko nebeišveda skriptas.. ;D

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Štai dabar toks kodas:

 

 

<?php 
$failas="host.txt"; 
$stulpelis = file($failas); 
$kiek = count($stulpelis); 

$laukelis = array();

$simboliai = array();
$simboliai[0] = '/^7/'; \\ prieš ^ turi būt \
$simboliai[1] = '/^4/';

$vietoj = array();
$vietoj[0] = '';
$vietoj[1] = '';



for($i = 11; $i < $kiek; $i++)
{ 
	$laukelis = preg_replace($simboliai, $vietoj, $laukelis[$i]); \\ susižiūrėk iš ko replace'ini
	echo "{$laukelis[0]} $laukelis[1] {$laukelis[2]} {$laukelis[3]} <br />"; 

} 
?>

 

Faile host.txt yra eilutė "conn=^7I^4gnas". Bet man reikia, kad atvaizduotų tik žodį "Ignas" ;) Su šituo kodu nieko nebeišveda skriptas.. ;D

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Tai čia lygiai tas pats, ką ir aš parašiau, o tie "\", duoda tik sintaksės klaidą. Reikia naudot slash'us "/"...

 

;)

 

  $simboliai[0] = '/\^7/'; 
$simboliai[1] = '/\^4/';

 

$laukelis = preg_replace($simboliai, $vietoj, $stulpelis[$i]);

 

EDIT: nu tada nežinau kaip čia yra, kad man veikia, o tau ne :-(

Redagavo iGor
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...