Jump to content
php.lv forumi

Roze

Administratori
  • Posts

    1,561
  • Joined

  • Last visited

Everything posted by Roze

  1. ehh ar reverso inženieriju nodarboties :)
  2. Tas ir kā? Serverim 1Mb brīva vieta tikai?
  3. Atkarībā kā tu skaiti.. Ja kā programmētājs sākot ar 0 tad vienkārši $linija-1 vietā jāliek $linija.. Ja kā "normāls" cilvēks ar 1 tad ierakstīs arī "nulltajā" un pēdējā rindā. Pie kam operēt ar 0 vērtībām variabļos ne vienmēr ir forši .. teiksim nestrādā if($linija) .. isset/isint nava forši ;) Pirmā rinda: <? $arr = array(0=>'a',1=>'b',2=>'c'); array_splice($arr, 0, 0, array('value'."\n")); print_r($arr); ?> Array ( [0] => value [1] => a [2] => b [3] => c ) Pēdējā rinda: <? $arr = array(0=>'a',1=>'b',2=>'c'); array_splice($arr, 3, 0, array('value'."\n")); print_r($arr); ?> Array ( [0] => a [1] => b [2] => c [3] => value ) Vēl kādi iebildumi?
  4. Un kā šādi? <? $teksts='kaka'; $linija=3; $fails='file.txt'; $txt = file($fails); array_splice($txt , ($linija-1), 0, array($teksts."\n")); $f = fopen($fails,'w'); fwrite($f,implode($txt)); fclose($f); ?> Ja ir PHP5 tad pēdējās 3 rindas var nomainīt ar <? file_put_contents($f,implode($txt)); ?> Bet ja splice funkcija vēl pareizi atgrieztu arī rezultējošo array varētu pavisam kruta (tagad diemžēl nestrādā): <? file_put_contents($fails,implode(array_splice(file($fails), $linija-1, 0, array($teksts."\n")))); ?>
  5. Roze

    PHP usage 100 %

    Priekš kam tev kaut ko tādu? Lielāku noslodzi vēl laikam tikai rewrite spēj ģenerēt.. Kā var būt klientam lielāka bremze ja keš ir servera pusē? :)Jājautā vai tev tas serveris neswapojas līdz nemaņai? Jā tā ir kāda unix/linux/bsd sistēma parādi ko tev atgriež konsolē 'free -m' Nē. Šis varbūt bija aktuāls pirms 10 gadiem. Kā jau teicu.. mysql_pconnect vajadzētu lietot tikai tad ja tu saproti ko dari un ja serverim ir pietiekami atmiņas. mysql_connect ir uz lokālas kastes (neņemot vērā tīkla latency) aizņem kādas 0.001 sekundes (un pat mazāk) ;) Nē, tas nav jāpārbauda. PHP to dara automātiski. Ja tu izsauksi 10 reiz mysql_connect() pēc kārtas arī tad tiks izveidota tikai viena konekcija.
  6. Roze

    PHP usage 100 %

    mysql_pconnect jebšu persistantās konekcijas izmanto tikai tad ja tu zini ko dari ;) 1. Ja tev ir apache, tad katrs pieprasijums lielākoties anyway vērs jaunu konekciju 2. Katra jaunai konekekcijai MySQLam jaizdala atmiņas buferi (key/sort un hvz vēl kādi citi - formula ir MySQL manuāli) tas nozīmē ka pie pārdesmit konekcijām vajadzēs krietni daudz rama, taču ja konekciju skaitu var ierobežot vai arī tas nav tik liels tad varbūt nav tik traki 3. mysql_close() neaizver mysql_pconnect (pconnect nav iespējams aizvērt no php). MySQLam Query Cache ir ieslēgts?Vēl variants ir izmantot kādu kontent kesheri .. Es īsti nesaprotu ko tu grasies iegūt "saliekot to visu funkcijā"... Tikai ne to. PEAR DB dara 100 un 1 lietu tikai ne DBconectu (nu labi beigās uztaisa). Ja ir interese varu iedot profilētu outputu :) http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html Kas domāts ar multiviews lighttpd'am?
  7. In MySQL 5.0, queries that do not use indexes are logged in the slow query log if the --log-queries-not-using-indexes option is specified. http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html
  8. Roze

    Sērfo Anonīmi!

    Naivums un jaunības maksimālisms :) .. un pēc tam brīnās a kapēc es vairs nevaru atvērt savu paskasti? a kapēc parole vairs neder tur un šitur?
  9. Nu vienkāršākais veids neizmantojot nekādus citus palīglīdzekļus manuprāt sanāk šāds. Uztaisi tabulai UNIQUE indeksu laukiem banera_id | usera_ip | datums (yyyy-mm-dd) (vienu uz visiem laukiem kopīgu) un taisi tikai INSERTUS .. attieciigi ja INSERTs izdodas (neatgriezh false) var "dot zeltu" ja neizdodas tas nozīme ka uz banera 24h laikā no konkrētās IP ir klišķināts.. Tā aiztaupīsies selecti etc. Atkarīgs gan cik daudz to "baneru" un cik daudz klišķinātāju..
  10. A kāda starpība cik reizes? Un var arī nevienu reizi netaisīt jo ir arī šāda iespēja SELECT * FROM database.tabula WHERE ...
  11. Šitais ir kaut kas no sociālisma/dialupa laikiem.. Mok tad skypi ar nevar laist? Ar itkā klausās uz 80 porta <g>
  12. Roze

    PHP usage 100 %

    Shis te nav ļoti CPU intensive.. visādā ziņā noslodzei vajadzētu būt MySQL pusē nevis php.. tikai jautājums kapēc tiek izmantots mysql_fetch_object($result)? mysql_fetch_assoc vai fetch_row būs krietni ātrāk.. Uzlikt servera-statusu (gan lighttpd gan apache tāds ir) un paskatīties pie kuri requesti ilgāk izpildās un pie kuriem cpu sāk mocīties.. Ja nav pilnīgas saprašanas kas pa koda daļu ģenerē šo noslodzi tad sākumā pa lielam gabalam atsevišķās koda daļas vai lapas diseiblot (ieliec kaut vai die() sākumā). Ja stāvoklis uzlabojas skaidrs ka vainīgs šis kods ja nekas nemainās turpini tālāk.. Var arī smalkāk uzlikt teiksim kādu koda profileri aļa Xdebug un pētīt tā izgāztos datus.
  13. Jāpārbauda ir $_SERVER['HTTP_HOST'] vai $_SERVER['SERVER_NAME'] nevis request_uri ...
  14. Zend encoderis / optimizeris nekādu ātrdarbību principā neuzlabo (varbūt ir tagad ir kaut kas labāks bet savulaik (vēl ar 4.0.x) testējot zendoptimizeris pat deva nedaudz sliktākus rezultātus nekā tīrs php) un tikai nodrošina source koda kriptēšanu.. Zendam patiesais "boosteris" Zend Accelerator nāk iekš Zend Core, Zend Platform.. Ja gribās opcoda / kontenta kešu po freju un ātrdarbības pieaugumu jaizmanto vai nu APC, eaccelerator vai ioncube accelerators..
  15. Roze

    Grāmatas

    Varbūt tas ir individuāli, bet man šķiet ka programmēšanu visvienkāršāk mācīties darot ("learn by doing"). Proti paņemam uzliekam webserveri + php (vienkāršības labad sākotnēji varam izmantot kādu no apache+php+mysql komplektiem teiksim to pašu WAMP (pats neesmu lietojis)) un sākt ar pavisam vienkāršām lietām, piemēram informācijas izvad uz ekrāna un primitīvākās valodas strukturas un operācijas - nosacījumi, cikli utt.. Ko dod ka tu grāmatā izlasi? <? echo 'Šis ir php'; ?> Faktiski nezinot kas galugalā notiks ej nu tagad galvā ģenerē šādu kodu (tas atgādina dažu LU kursu kur Pascāla kods jāraksta uz A4 lapas un pašam jātēlo parseris <g>). Ko dod ja tu grāmatā redzi <? if($var == 1) { echo 'izvadam šo'; } else { echo 'izvadam ko citu'; } ?>. Nemaz nerunājot par tādām lietām kā mysql_query() mysql_fetch_* .. Manuprāt jēdzīgākā "grāmata" ir http://lv.php.net/manual/en/ Pēc tam jau sākas reālās dzīves situācijas (High performance, Optimising utt) u.c. lietas par kurām gan var palasīt arī reālas grāmatas..
  16. Hehe šitais ir jautri.. visi cīnās ap POST variabļiem, WML sintaksti a subjekts izrādās pavisam kur citur šaizi taisa.. Uzraksta kodu: <? echo $blabla; ?> Un ej nu izsecini no kāda cauruma $blabla tiek ņemts.. a izrādās $row['blabla'] kas velk uz MySQL <g> good luck.. šitādus supportēt :)
  17. Vienkārši http://lv.php.net/include Ir fails teksts.php kurā teiksim ir "Sheit kaut kads teksts" Ir lapa1.php kurā ir kods: <? include('teksts.php'); ?> ir lapa2.php kurā arī ir kods <? include('teksts.php'); ?> Attiecīgi palabojot failu teksts.php mums nomainās gan lapa1.php gan lapa2.php ... Es ceru ideju saprati? Attiecīgi standarta piegājies ir definēt headeri un footeri, lai pamainot vienā vietā mainītos citur un proti: head.php satur piemēram: <html> <head> <title>mana lapa</title> </head> <body> bet foot.php: </body> </html> Attiecīgi mums atliek tikai cept dažādas lapas kurās mēs rakstam: <? include('head.php'); // izpildam kaut kādu php kodu echo 'blabla'; ?> Varam likt arii htmlu <a href="#">Links</a> <? include('foot.php'); ?>
  18. Lietas ir bik gājušas uz priekšu.. http://www.roadsend.com/home/index.php?SMC...pageID=compiler http://www.roadsend.com/home/index.php?rID...pageID=featBene man patika šis: Compile Offline MicroServer Applications (All Editions) compile website code to single executable that includes an embedded web server operates like normal desktop application, but uses same code as online web application automatically spawn web browser p.s. blackhalts gan varēja kaut ko jēdzīgāku darīt.. ganjauka atkal kaut ko salauzt..
  19. Nu es visiem mysql sterveriem iekš my.cnf iebakstu character-set-server=utf8 un palaižu --skip-character-set-client-handshake Atkrīt lieks kverijs pēc katras konekcijas ..
  20. Ir character sets 'utf8' nevis 'utf-8' .. mysql> set names 'utf-8'; ERROR 1115 (42000): Unknown character set: 'utf-8' mysql> set names 'utf8'; Query OK, 0 rows affected (0.00 sec) .. līdz ar to puse no postiem ir cepšanās neparko :)
  21. http://dev.mysql.com/doc/refman/4.1/en/query-log.html
  22. Parādi ko tev atdod: EXPLAIN SELECT * FROM tableA WHERE tid IN ( SELECT id FROM tableB WHERE cid='var' )
  23. Jā tas kāreiz ir arī minētais 24h monitorings, ka var piezvanīt un pajautāt lai aiziet tur to kasti rebooto.. Otrs variants ir iedot klientam remote menedžējamu UPSi (power off/on). Hail to Telia nejau Ultranetam tā truba :)
  24. Tā gluži neiet cauri.. Arī staroperatoriem (es vienu tādu pārstāvu) ir jāuztur subskripcijas visiem numuriem uz kuriem kaut kas tiek sūtīts - proti ja no tava numura uz konkrēto kodu nav nekas iesūtīts (t.i. tu neesi akceptējis ka vēlies kaut ko saņemt) starpoperators SMS nesūtīs (un neļaus to darīt saviem klientiem) - t.i. tu nahaļavu nekādus SMS random numuriem gāzt nevarēsi (protams teorētiska iespēja ir). Pretēji staroperatora geitvejam mūžs ir ļoti īss ..
  25. Nu Latvijas ietvaros var dabūt arī vienu..
×
×
  • Create New...