Autor | Zpráva | ||
---|---|---|---|
radas Profil * |
#1 · Zasláno: 9. 10. 2009, 11:57:02
Zdravím,
chtěl bych se zeptat. Mam velky csv soubor (řadově v MB) a mam obavy (snad oprávněné) že kdybych to zadal ke zpracovaní najednou, tak že přetižim server. A nemůžu zaručit, že csv soubor bude vždy jen do nějaké určité velikosti. Neřešil někdo něco podobného, jestli ano prosím o nějaké nasměrovani jak to řešit. Moje první řešení je, že celý csv soubor bych naral na server, pak bych si ho prošel, zjistil počet řádku a pak jej rozložil do několika souborů, a až potom bych postupně zpracovaval jednotlivé soubory. |
||
Kajman_ Profil * |
#2 · Zasláno: 9. 10. 2009, 12:33:37
A není lepší jedna úloha. Proces bude trvat déle, ale postupně bude mít menší prioritu. Co si to nejprve vyskoušet a změřit na vývojovém serveru?
|
||
radas Profil * |
#3 · Zasláno: 9. 10. 2009, 12:39:39
Kajman_
ono to asi tak dopadne, že se to bude muset vyzkoušet, jen jsem se chtěl zeptat jestli nahodou někdo to neřešil... |
||
ondra121 Profil * |
Zkus mrknout na tenhle script, kdysi jsem ho někde objevil a měl by schroupnout i větší soubory.
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <form method="POST" action=""> <p><input type="text" name="soubor" size="20"><input type="submit" value="Odeslat" name="B1"><input type="reset" value="Vynulovat" name="B2"></p> </form> <? // inicializace, řádek $row = 1; //kontrola existence souboru If (File_Exists($soubor)) { //otevření souboru $file_csv = fopen ($soubor, "r"); //začátek tabulky echo "<table border='1' align='center'>"; //cyklus který postupně přečte všechny řádky tabulky ... //... řádek potom rozdělí na jednotlivé hodnoty do pole $data while ($data = fgetcsv ($file_csv, 1000, ",")) { echo "<tr>"; //nový řádek tabulky $num = count ($data); //zjistí počet sloupců //první sloupec bude obsahovat číslování řádků echo "<td>".$row.". řádek</td>"; //cyklus pro výpis jednotlivých hodnot tabulky for ($c=0; $c<$num; $c++) { echo "<td>"; echo $data[$c]; //výpis konkrétní hodnoty echo "</td>"; } $row++; //zvýší číslo řádku o 1 echo "</tr>"; //konec řádku } echo "</table>"; fclose ($file_csv); //uzavře soubor } else { //pokud soubor neexistuje - vypíše chybu echo "Soubor neexistuje<br>"; } ?> </body> </html> Moderátor Alphard: Odstranil jsem ty chybné komentáře a některé zbytečné bílé znaky.
|
||
ondra121 Profil * |
#5 · Zasláno: 9. 10. 2009, 20:00:42
Koukám že se mi to sem vložilo nějak podivně, musíš si odstranit ty komentáře v cyklu.
|
||
fopen Profil * |
#6 · Zasláno: 9. 10. 2009, 23:45:53
csv subor sa da importovať do aj excelu napriklad a tam ho rozedliť na menšie časti
|
||
Časová prodleva: 15 let
|
0