Jump to content
php.lv forumi

Kaklz

Moderatori
  • Posts

    1,401
  • Joined

  • Last visited

Everything posted by Kaklz

  1. Tātad jautājums ir ko darīt ar apache log failiem. Vienkārši pareizināt ar 3 un izdzēst negribās. Ir doma uzrakstīt kaut ko līdzīgu statistikas ģeneratoram, tikai ir viena nelaime - gribas analizēt apjomā diezgan palielus log failus* un pietrūkst idejas, kā varētu organizēt datu apstrādi. Reāli domājot noparsēt apache log failu ir triviāli. Ar nelieliem testiem nodarbojoties sanāca noparsēt apmēram 3700 ierakstus sekundē (veicot tik vien, kā uzskaiti, cik rindas ir noparsētas un cik daudz trafika ir izlietots). Bet nelaime ir citur: kā lai ar saprātīgu atmiņas apjomu uzģenerē detalizētu statistiku? Iedomāsimies, ka būvējam kaut vai to pašu webalizer klonu. Tur ir statistika pa stundām, pa dienām, hiti, hosti, refereri, statistika pa valstīm, un tā tālāk. No vienas puses, varētu itkā visu sadzīt kaut vai tajā pašā MySQL, bet tie maģiskie SQL pieprasījumi vienalga nežēlīgi iebremzēs. No otras puses itkā varētu visu krāmēt masīvos un cerēt, ka datu apjoms nepārsniegs PHP konfigurācijas failā norādītos. Ja nu gadījumā izmantojam incremental parsing, tad var mēģināt beigās uzģenerētos masīvus serializēt un iebāzt teiksim kādā failā un pēc tam turpināt. Attiecīgi ik pa laikam palaižot caur cron skriptu varētu arī mēģināt izbraukt uz to, ka klāt ir jānoparsē tikai pāris tūkstoši ierakstu, kas aizņemtu tikai pāris sekundes. Varbūt kādam ir kādas labas idejas par šo tēmu? Varbūt ir zināms, kā tas notiek iekš tā paša Webalizer? Paldies jau iepriekš :) __________ * ne pārāk lielas lapas ar ~20 000 hostiem mēnesī apache log fails varētu būt uz kādiem 2 000 000 ierakstiem
  2. Nesaki neviens. Ne tas vien ir sataisīts :P
  3. triggeris jau nu ir pavisam kaut kas cits. Triggeris ir kaut kāds darbību kopums, kas tiek izveikts automātiski pie kaut kādām darbībām datubāzē. Teiksim uzliekam trigeri lietotāju datu tabulai, ka gadījumā, ja kāds jauns lietotājs piereģistrējas (notiek insert darbība tabulā), tad tiek aizsūtīts e-pasts sistēmas administratoram. Stored procedures ja nemaldos ir paredzeetas MySQL sākot ar versiju 5.0. Tā kā tikko ir palaista tautās (production ready) tikai 4.1, tad par MySQL un stored procedures var uz brīdi aizmirst. Ja runa ir par kādu DB pārvaldības sistēmu, kas atbalsta stored procedures, tad attiecīgi uz servera ir jāizpilda SQL fragments, kas līdzīgi kā veido tabulas, uzveidos arī pašu procedūru.
  4. foreach ($_REQUEST as $key => $value){ $_REQUEST[$key] = mysql_escape_string($value); } Ar nosacījumu, ka caur $_REQUEST netiek padoti masīvi ;)
  5. pie teksta mainīgā attiecīgā simbola labā stila gadījumā tiek klāt nevis ar [], bet ar {}: $string = 'abc'; echo $string{0}; Tiesa, problēma ar utf-8 no tā mazāka nekļūst ..
  6. Man atkal tracina, ja nevaru aplūkot lapu ar savu iemīļoto pārlūku. Šāds joks ar \ ir arī Mozilla Firefox, un citiem līdzīgiem, kas izmanto Gecko dzinēju. Būtībā vajag risināt problēmas un veidot normālas lapas, nevis savu nezināšanu nogrūzt uz pārlūkprogrammas pleciem. Risinājums kā jau Venom precīzi teica: jālieto /, nevis \
  7. $fileData = file("data.txt"); $personList = array(); foraech ($fileData as $row){ list($name, $age, $email) = explode('|', $row); $personList[] = array('name' => $name, 'age' => $age, 'email' => $email); } // 1. punkts foreach ($personList as $key => $person){ if ($person['name'] != 'Janis'){ $neviensJanis[] = $person; } } // 2. punkts foreach ($personList as $key => $person){ if ($person['name'] == 'Janis'){ $personList[$key] = array('name' => 'JanisOzols', 'age' => $person['age'], 'email' => $person['email']); } } // 3. punkts $januskaits = 0; foreach ($personList as $key => $person){ if ($person['name'] == 'Janis'){ $januskaits++; } } // 4. punkts echo '<h1>Personas dati</h1>'; foreach ($personList as $key => $person){ if ($person['name'] == 'Pereris'){ echo '<h2>' . $person['name'] . '</h2> <p>Vecums: ' . $person['age'] . '</p> <p>E-pasts: ' . $person['email'] . '</p>'; } } visiem punktiem ir kopīgs sākums, katrs no tiem ir darbināms atsevišķi.
  8. :) a priekš kam tev vēl hostingu, ja tev jau ir? :P
  9. Kaklz

    Admin lapa

    Izlasi jautājumu un padomā, vai pats to saproti.
  10. $str = 'mans garais teksta mainiigais' . "\n";
  11. Kaklz

    Text size

    ar GD uztaisi bildi. Tad tiešām nevarēs mainīt teksta lielumu .. vismaz IE un FF lietotāji. Operai ir tāda jauka iespēja Page Zoom, kura palielina arī bildes ;)
  12. Nospļāvos, uzliku X-serveri un gaidu uz: http://bugs.gentoo.org/show_bug.cgi?id=70172
  13. kamēr ereg_replace darbojas, var paspēt aiziet padzert tēju un apēst kādu desmaizi. ar otrajiem diviem ir grūti - tie maitas pārāk ātri strādā :D :lol: :P :P
  14. Atkarīgs no pārlūkprogrammas. Būtu labi veidot mājas lapas tā, lai lietotājam nevajadzētu lietot pārlūkprogrammas Forward un Back pogas. Attiecīgi vajadzētu domāt par risinājumu, kurā ir jāspiež nevis pārlūkprogrammas back poga, bet ir vēl viena poga ar kuru var ņemt un pāriet atpakaļ uz labošanas režīmu. Tam obligāti nav jābūt PHP, lai gan tas ir atkarīgs no tava risinājuma.
  15. Kaklz

    Enter par <br>

    Sk. saiti 8 ierakstus uz augšu.
  16. Sarunāt ir iespējams, viss ir atkarīgs no projekta - izstāsti, kāds projekts tev ir padomā un varbūt tepat uz līdzenas vietas var sarunāt. Nē, tas nav piedāvājums.
  17. ja tā labi padomā, tad nākas meklēt bezpeļņas organizāciju. Pēc interneta likumiem tās ir tādas lapas, kurām ir domēns .org. ņemam, rakstam google: free mysql hosting site:org
  18. Varbūt, ka ērtāk būtu, ja datubāzē saglabātu faila nosaukumu tajā pašā UTF-8, bet failu nevis saglabātu ar tādu nosaukumu, bet ar datubāzē esošo id. Teiksim būtu datubāzes ieraksti: id | filename 1 test.txt 2 āšēķģ.doc 3 briežu dzimtas noslēpumi.ppt Failu sistēma 1.file 2.file 3.file Pēc tam jau no datubāzes nolasām vajadzīgo failu, kuru vajag atļaut downloadēt un ar header padodam UTF-8 faila nosaukumu, bet pašu padodamo failu savācam attiecīgi pēc id, teiksim šajā gadījumā 1, 2 vai 3. [edit] A varbūt problēma nav failu sistēmā, bet header - tb. varbūt viņš vienkārši nesaprot multi-byte simbolus. Tad laikam tas neies cauri.
  19. Sintakses kļūdas novērsu: http://paste.php.lv/1344 P.S. reizēm ir vērts arī kaut ko minimāli saprast par to, ko nozīmē PHP un programmēšana ;)
  20. Nē, arī --nodeps nelīdz - funkcijas vēljoprojām ir nedefinētas.
  21. Vēl nepamēģināju, vienkārši pagaidām tas serveris nav vienmēr pieejams, kad tikšu klāt, izmēģināšu.
  22. Žetons! Tā teikt, ko prasa, to arī atbild :)
  23. Nu gentoo vispār jau arī kompilē no surcēm ;) a kas notiek ja laid: USE="xpm -X" emerge php... ? Mēģināju arī ar "-X", to viņš ignorē. Vienalga prasa instalēt X serveri.
  24. Mēģinu uzstādīt PHP5 uz sava Gentoo Linux. Ir daži scenāriji, kas izmanto ttf saimes funkcijas, piemēram, imagettftext, imagettfbox, un citas, attiecīgi nepieciesams TTF atbalsts. Uzstādīju PHP ar gd, gd-external, tiff, png, jpg un truetype atbalstu. Neskatoties uz to PHP joprojām saka, ka man nepieciešamās funkcijas esot nedefinētas - attiecīgi nav pilnībā nokompilējies TTF atbalsts. Cik parakos PHP dokumentācijā un Gentoo.org forumos, secināju, ka ir vēl viens konfigurācijas parametrs, kas ir jāiekļauj USE komandā. USE="xpm" emerge php mod_php Problēma slēpjas faktā, ka tiklīdz es pievienoju xpm pie USE komandas, Gentoo man prasa, lai es uzstādu arī X serveri. Tā kā tas ir web serveris, tad neredzu nekādu iemeslu, kāpēc man būtu nepieciešams X serveris. Reāli ar serveri es strādāju praktiski tikai no attāluma caur SSH. Jautājumi: Vai ir kaut kāda veikstpējas atšķirība, ja es uzstādu/neuzstādu X serveri? Priekš kam man tas X serveris ir vajadzīgs? Man kaut kā neticās, ka visiem web serveriem, kam ir PHP ar pilnu ttf atbalstu būtu arī uzstādīts X serveris. Varbūt ir kāds cits variants, kā uzstādīt PHP ar pilnu TTF atbalstu, neuzstādot X serveri? (Varianti "use windows", "use slack", "use debian" netiek pieņemti) Vai uzstādot PHP bez atkarībām (--nodeps parametrs) tas strādās korekti, vai nē? Jebkādi citi saprātīgi komentāri par tēmu, protams, laipni gaidīti. Paldies jau iepriekš
×
×
  • Create New...