Autor | Zpráva | ||
---|---|---|---|
bazz Profil |
#1 · Zasláno: 13. 12. 2015, 19:53:04
ahoj dá se sčítat obsah souboru vypsaných
$soubory = glob("/*.{txt}", GLOB_BRACE); foreach ($soubory as $soubor) v každém tom texťáku je jedno číslo. |
||
Alphard Profil |
#2 · Zasláno: 13. 12. 2015, 21:26:44
Dá, ale nativní funkce přesně na to v PHP není. Vytvořte si nějakou proměnnou
$sum a soubory procházené v tom foreach postupně načítejte a přičítejte vaši hodnotu.
$sum = 0; foreach (...) { $sum += file_get_contents($filename); } |
||
Taps Profil |
#3 · Zasláno: 13. 12. 2015, 21:37:41
bazz:
Číslo je v souboru umístěn vždy na prvním řádku? |
||
bazz Profil |
#4 · Zasláno: 14. 12. 2015, 08:30:00
Ano na prvním. Pricitani není asi nejlepší volba protože soubory s čísly se budou mazat a přidávat a výsledek by měl být aktualni
|
||
Keeehi Profil |
#5 · Zasláno: 14. 12. 2015, 13:06:43
bazz:
„Pricitani není asi nejlepší volba protože soubory s čísly se budou mazat a přidávat a výsledek by měl být aktualni“ Při každém spuštění scriptu se projdou vždy všechny soubory a znovu se sečtou. Bude to vždy aktuální a taky nehorázně pomalé. To proto že disk je ta nejpomalejší paměť počítače. Dost by tomu pomohlo, kdyby ta čísla byla v jednom souboru na různých řádcích. Ovšem úplně nejlepší řešení bude nejspíše použití databáze. |
||
bazz Profil |
vím databáze ale s těmi neumím :-( a do jednoho souboru to napsat nemůžu protože nevím jak byh mazal jednotlivé řádky... to bych musel asi před každé číslo vrazit proměnnou pak při mazání tu proměnnou najít a vymazat daný řádek. Tím by mi tam ale vznikaly volné řádky a nevím jestli by to nedělalo bordel.
bude tam cca 40-50 souborů s čísly ale to je max a až nakonci měsíce. Každý měsíc odznova od 0 |
||
Keeehi Profil |
#7 · Zasláno: 14. 12. 2015, 17:56:14
bazz:
„databáze ale s těmi neumím“ Tak je na čase se s nimi naučit. Není to nic těžkého a tobě budou stačit úplné základy. A nebo když už nic jiného, tak to mít v paměti jako pole, které si budeš serializovat do jednoho souboru. |
||
bazz Profil |
#8 · Zasláno: 15. 12. 2015, 13:00:40
Zkoušel jsem to co psal Alphard ale z nějakého důvodu mi to přičítá i 1 ke každé proměnné
|
||
Taps Profil |
#9 · Zasláno: 15. 12. 2015, 14:09:50
bazz:
jak vypadá tvůj kompletní skript? |
||
ttom Profil |
#10 · Zasláno: 15. 12. 2015, 19:00:04
<?php $sum = 0; $soubory = glob("uploads/*_provize.txt", GLOB_BRACE); foreach ($soubory as $soubor){ $sum += file_get_contents($soubor); echo "$sum"; } ?> vytvořím soubor jedna_provize.txt kde není uloženo nic... vypíše 0 vložím číslo 5, vypíše 5 vytvořím soubor dva_provize.txt kde není uloženo nic... vypíše 05 vložím číslo 3, vypíše 38 vytvořím soubor tři_provize.txt kde není uloženo nic... vypíše 388 vložím číslo 2, vypíše 3810 z toho mi vyplývá že poslední dvojčíslí (10) je správný součet ale proč mi to vypisuje ty předchozí? |
||
juriad Profil |
#11 · Zasláno: 15. 12. 2015, 19:09:27
ttom:
Přesuň echo o řádek dále - mimo cyklus. |
||
bazz Profil |
#12 · Zasláno: 15. 12. 2015, 19:13:43
o jéééj taková kravina :-D
díky chlapi!!! |
||
Časová prodleva: 8 let
|
0