Autor | Zpráva | ||
---|---|---|---|
gardener Profil |
#1 · Zasláno: 10. 11. 2008, 15:38:42
Zdravím
Chtěl bych pomocí cyklu přečíst z každého souboru ve složce n-tý řádek, ten uložit do pole a toto pole poté vypsat do nového souboru. Zatím jsem zkusil načítat pomoc fget ale nevím, zda je to dobrá volba.. Tuší někdo prosím, jak to udělat co nejefektivněji? Zatím je to takto: <?php $path= "documents/";//Assign variable file to CSV documnets $export= "export/";//Assign variable file to EXPORT CSV documnets $file= opendir($path);//Assign variable file to CSV documnets while ($jmenosouboru = readdir($file)) { $file_csv = fopen ($jmenosouboru, "r"); //Open file for reading $value = fgets($file_csv,4096); //Get value from a file } ?> Děkuji za každou radu.. |
||
nightfish Profil |
#2 · Zasláno: 10. 11. 2008, 16:10:24 · Upravil/a: nightfish
a co si tak představuješ pod tou efektivitou?
pokud soubory budou malé ( << memory_limit), tak $soubor = file($jmenosouboru); echo $soubor[$n+1]; // vypíše $n-tý řádek a pokud soubory budou velké, tak fopen a v cyklu fgets, jak už ses dozvěděl v jiném vlákně |
||
BetaCam Profil |
#3 · Zasláno: 10. 11. 2008, 16:19:24
gardener
Též nějak moc nechápu proč otvíráš nové vlákno na stejnou věc. |
||
Časová prodleva: 2 roky
|
|||
Yuhů Profil |
#4 · Zasláno: 1. 12. 2010, 23:15:34
myslím, že tam má být mínus, tedy správně je
$soubor = file($jmenosouboru); echo $soubor[$n-1]; // vypíše $n-tý řádek |
||
AM_ Profil |
#5 · Zasláno: 1. 12. 2010, 23:28:55 · Upravil/a: AM_
pokud jde o csv soubory, využil bych jejich vestavěnou podporu v php: fgetcsv()
nicméně nic to nemění na věci, že stejně musíš přečíst všechny řádky před tím (řádek nemá konstantní velikost, takže nejde nijak usoudit, kde začíná i-tý). |
||
Časová prodleva: 14 let
|
0