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.

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