Autor | Zpráva | ||
---|---|---|---|
zedna Profil * |
#1 · Zasláno: 2. 12. 2010, 14:24:24
Potřebuji načíst txt soubor ale tak aby čtení začlo až od xtého řádku (vynechat např. prvních 20 řádků)
mám přeskočení x znaků, což mi mimochodem taky moc nefunguje ale hlavní jsou ty řádky, protože znaky zas tak neovlivním if (File_Exists ("data.txt")): $fp = FOpen ("data.txt", "r"); $data = fgets($fp, 100); //echo ftell($fp); $text = FRead ($fp, FileSize ("data.txt")); FClose ($fp); endif; poradíte jak přeskočit řádky? nemůžu použít funkci file_put_contents apod, protože jsem na firmením PHP4 a na upgrade nemám čas |
||
ShiraNai7 Profil |
#2 · Zasláno: 2. 12. 2010, 14:48:13
Mam soubor test.txt a v nem:
Jedna Dva Tri Ctyri Pet Sest Sedm Osm Devet Deset A skript: $i = 0; $skip = 5; $file = fopen('./test.txt', 'r'); while($line = fgets($file, 512)) { ++$i; if($i > $skip) echo $i.': '.$line; } A vypise to: 6: Sest 7: Sedm 8: Osm 9: Devet 10: Deset Prvnich 5 radku je tedy preskoceno (tj hodnoty Jedna, Dva, Tri, Ctyri a Pet). |
||
blaaablaaa Profil |
#3 · Zasláno: 2. 12. 2010, 14:48:18
zedna:
$data = file("data.txt"); //smazes prvnich 20radku for ( $i=0; $i<20;$i++ ) { unset($data[$i]); } //nebo vypises od dvacateho $cnt = count($data); for ( $i=20; $i<$cnt;$i++ ) { echo $data[$i]."\n"; } + osetreni, kdyz soubor neexistuje, kdyz nema pozadovany pcoet radku apod. |
||
ShiraNai7 Profil |
#4 · Zasláno: 2. 12. 2010, 14:50:08 · Upravil/a: ShiraNai7
blaaablaaa:
Zbytecne 2 cykly :) Jde to v jednom co jsem napsal a nemusis nic osetrovat (snad krome existence, ale to uz jde mimo diskusi). edit- jde to jeste jednoduseji: $radky = array_slice(file('test.txt'), 5); print_r($radky); Vypise: Array ( [0] => Sest [1] => Sedm [2] => Osm [3] => Devet [4] => Deset ) |
||
blaaablaaa Profil |
#5 · Zasláno: 2. 12. 2010, 14:52:23
ShiraNai7:
Je to vzdyt jen jeden cyklus, dve moznosti ;) Podle toho, co s daty chce delat. |
||
ShiraNai7 Profil |
#6 · Zasláno: 2. 12. 2010, 14:53:21
blaaablaaa:
Viz moje bez cyklu :) |
||
zedna Profil |
#7 · Zasláno: 2. 12. 2010, 15:01:13 · Upravil/a: zedna
dobrá díky jdu to hned vyzkoušet, btw. napadá vás řešení jak začít načítat text ze souboru až od určitého slova? např když mám Obsah, tak se začne vypisovat text až od prvního výskytu toho slova
blaaablaaa: „Podle toho, co s daty chce delat.“ ty data vypisuji a ukladam do databaze pocet jejich vyskytu pomoci array ale tohle musim udelat jeste predtim |
||
zedna Profil |
#8 · Zasláno: 2. 12. 2010, 15:15:25
super tak to funguje líp než jsem čekal, vypisuje to i prázdné řádky, což byl účel, díky moc
teď ještě vyhledat slovo a přidat druhou podmínku po nalezení slova. co třeba $hledam = 'slovo'; $pos = strpos($text, $hledam); // Note our use of ===. Simply == would not work as expected // because the position of 'a' was the 0th (first) character. if ($pos === false) { echo "The string '$hledam' was not found in the string '$text'"; } else { echo "The string '$hledam' was found in the string <b>'$text'</b>"; echo " and exists at position <u>$pos</u>"; } $pozice_slova = fgets($fp, $pos); |
||
Časová prodleva: 13 let
|
0