Jump to content
php.lv forumi

Roze

Administratori
  • Posts

    1,561
  • Joined

  • Last visited

Everything posted by Roze

  1. Nu kā to ņem. Ja teiksim if($variable) vietā man jālieto isset() un vienmēr jāuztraucas par to vai $masivs[key] / $masivs['key'] ir korekti un definēts tad zūd php kā mazas netīras valodas pievilcība :)
  2. Manuprāt diezgan (galīgi) garām. Jo visa jēga dinamiskā webā jau ir šo failu neģenerēšanā. Pretēji ja manuāli veidojam visu lapas struktūru tad kāda īsti nozīme to visu saistīt ar mod_rewrite? Ko darīsi kad tiks izveidota jauna kategorija? Ņemsi taisīsi symlinku. ģēnerēsi jaunu diru ar ar failu kurā rakstīsi php kodu? Kas notiks ja materīali būs 100 - 1000 - 10000 ? Manuprāt šādi var iedzīvoties failsistēmas innožu trūkumā vai arī max open failu ierobežojumā. Failsīstēmas overheads ir krietni sāpīgāks par cpu noslodzi. Arī lapas pārlikšana uz citu serveri varētu radīt galvas sāpes. Var jau būt ka šis der kādā no weblapām ar pāris kategorijām, taču manuprāt kā universālu risinājumu to uzskatīt nekādi nevar.
  3. Diezgan neforši un nekorekti pret webserverīti (nav tak viņš vainīgs) Ja ir nepieciešams uz servera dažādiem virtuālajiem hostiem vai konkrētām direktorijām atsķīrīga php konfigurācija, kā jau bubu minēja, var izmantot php_flag un php_value direktiivas http://lv.php.net/manual/en/configuration.....changes.apache Tādējādi ļoti labi var atdalīt piemēram testa un produkcijas vidi (uz viena servera) - proti testa vide ar maksimāli uzgrieztu error_reporting, bet produkcijas ar pilnībā izslēgtu.
  4. Roze

    Par PHP5

    Nu var jau uz viena servera darbināt gan PHP4 gan PHP5. Proti vienu darbina kā DSO moduli otru kā CGI. 1) vai nu izmantojot dažādus failu paplašinājumus teiksim .php5 pārsēt ar php5 moduli 2) vai ērtāk savām vajadzībām izveidot virtualhostu kurā definējam ka .php pārsējas ar php5 moduli
  5. Roze

    insert SQL

    Vispār jau šādi manuprāt ir daļēji garām.. $q = "INSERT INTO $table VALUES($value)"; jo kverijs izveidosies pareizs tikai tad ja padoto vērtību skaits sakritīs ar tabulas lauku skaitu, kas savukārt nozīmē ka vienmēr jāseko visam līdz (skaitam un secībai) un arī autoincrementālajos laukus jāpadod vērtība '' Pēc manām domām prātīgāk būtu funkcijai padod asociatīvu masīvu kur keyi ir lauku nosaukumi un tad kveriju veidot ar INSERT INTO $table SET $key1 = '$value1', $key2 = $value2 vai arii INSERT INTO $table ($key1,$key2) VALUES ('$val1','$val2'); Piemēram: function blabla($m,$table) { mysql_query("INSERT INTO $table ('".implode("','",array_keys($m))."') VALUES ('".implode("','",$m)."')"); } un tad blabla(array('lauks1'=>'vertiba1','lauks2'=>'vertiba2'),'tabula'); protams $values der arii esceipot ar mysql_escape_string() p.s. ja gribās lāpit slinkumu tad jau pašas postojamās formas elementus var nosaukt pareizajos nosaukumos. <input type="text" name="frm[nick]"> <input type="text" name="frm"> un tad padot tikai blabla($frm,$tablje) vai $_POST[frm] ..
  6. Drīzāk jau parastu spamchecku neizej cauri. Proti sūti no neeksistējošas e-pasta adreses / domēna (From), nekorekts Subjects utt
  7. Vai nav smukāk?: <? $image = glob("path/Th_{*.gif,*.jpg,*.png}", GLOB_BRACE); echo '<img src="'.$image[array_rand($image)].'"/>'; ?> .. performance hvz
  8. Vispār jau ar kodu rakstīšanu jānodrabojas pašam bet nu: for($i=1;$i<=$maximalais;$i++) { $cnt += count(explode(':::',file_get_contents('/some/path/'.$i.'.txt'))); } echo 'Rindu skaits: '.$cnt; protams korektumam var itkaa likt arii if(file_exists(... )), bet nu ja ir pārliecība ka faili vienmēr būs tad teorētiski nevajag.
  9. Roze

    Par ip

    Ganjauka IPv6 http://www.ipv6.org/
  10. Roze

    Par ip

    <? echo $_SERVER['REMOTE_ADDR']; ?>
  11. Tagad es vairs neredzu tavu postu jēgu un nostāju. Pirms brīža: un tagad Īsti neizprotu ar ko tad esi neapmierināts? Par to ka skolēni taisa lētus projektus vai tas ka firmām nesanāk 2000+lvl projekti? 10 gadu pieredze? 10 gados webrelated ziņā nomainās tik daudz, ka lielāko daļu savas iepriekšējās "pieredzes" vari kārt uz nagliņas. Varbūt paliek kaut kādi principi tāču viss pārējais mainās - sākot jau no tehnoloģijām un beidzot arī ar pašu end-useri (velmes, prasības). Un kurš tad galugalā saukā sevi par "uberkrutu"? Vai gadijumā tas neesi tu pats? viszinīgi spriežot par to kas sūkā un kas nē.. Par to kādas kur ir tendences un par to ko kas ir sasniedzis un ko nav?! Un šķiet ka nebrauc? Lielāka problēma ir uztaisīt kaut ko te nevis tur...
  12. Tāds laiks diezvai pienāks, jo tākā izstrāde saistās tikai ar intelektuālā materiāla izmantošanu, kāds vienmēr taisīs arī par 300, 200, 100 .. alus pudeli.
  13. Bet kur problēma?Ver vaļā editoru un tiec kaut kur tālāk. Pie mūsdienu iespējām, kad visu vairāk vai mazāk var panākt (vismaz iesākt) var tīri ar entuziasmu nav nekāda attaisnoja īdēt par citiem. Otrs, pēc cien Robis domām, kas/kurš tad ir panācis kaut ko vairāk? Šajā gadijumā šī firma dod tikai tehnisku supportu, kas izpaužas serveru izvietošanā datucentrā un kabeļa pievienošanu. Pretēji nekas būtiskas kā šeit http://www.draugiem.lv/faq.php#12 aprakstītajā 12. punktā nav mainījies. Treškārt, rodas iespaids, ka nav pilnīgi nekādas nojēgas par mārketingu. Jebšu kā Robis stādās priekšā kā lokāls studentu kantoris nopārdod I-bankas sistēmu un kurš to pirktu? Pārdod to ko pērk un tās ir standarta lapas. Ja Jums tas tā besī, tad, piedodiet, beidziet dirst un izgāzt savu žulti uz projektiem kas pēc būtības ir pilnīgi savādāki (šajā gadijumā sociālie tīkli). Pie kam neiet runa par kontigentu, bet gan tehnisko izpildījumu un šaubos ka Latvijas gadijumā ir šāds Know-How kā nodrošināt jaudas pie šāda pieauguma http://puls.lv/?ix=2&is=1&sid=11834 Manuprāt, vaina nav nevēlēšanās, bet gan (letiņu) attieksmē. Esmu redzējis ne vien vienu projektu, kas tiek nozākāts nemaz neuzsācis apgriezienus. Līdz ar to biežāk vien beigas ir dēļ stipru nervu nevis programmēšanas prasmju trūkums. Viela pārdomām. Atbildot uz sākotnējo jautājumu: draugiem.lv ir pilnīgi customs un jau kādā ceturtajā versijā. Ir sarakstīts speciāls serversofts (iekš C) tīkla u.c. lietu ģenerācijai ar MySQL backendu, kā arī php extensija komunikācijai ar serveri.
  14. $id manuprāt ir viens no visbiežāk lietotajiem variabļiem un Apache to nu nekādīgi nevarētu mainīt, līdz ar to visdrīzāk vaina ir pašā kodā ;)
  15. Nafig kaut kādi headeri?? Un nafig freimi? http://roze.lv/dira/sdfgsdfg http://roze.lv/dira/lalalalallalal http://roze.lv/dira/1/2/34/345/456/37/567/ Ar Errodocument strādā tāpat. Un nekas nekur vairs nav jāredirektē. Vienīgi Errorlapai jābūt kaut kādam minimālajam izmēram jo savādāk IE zem kaut kādiem baitiem rāda savu defaulto. Mīnus šādam piegājienam ir webservera headeri :) HTTP request sent, awaiting response... 1 HTTP/1.1 404 Not Found ...
  16. Var bez mode_rewrite bet ar ErrorDocument Proti ErrorDocument 404 /tavs/fails.php Līdz ar to kad useris ver vaļā http://saite.lv/blah/hah/ , kas fiziski neeksistē, tiek iekurbulēts tavs php fails un tad jau var analizēt $_SERVER['REQUEST_URI'] un darīt kaut ko tālāk.
  17. Tak tas vairs nav aktuāli :) Jebšu pareizāk nevis atbilstoši licensei, bet gan versijai, kad attiecīgie ierobežojumi bija vēl spēkā, bet tā: 07/21/04: gd 2.0.28 has been released. gd 2.0.28 restores support for reading and writing GIF images Vispār lai arī ir dažas ekstra fīčas/funkcijas ar bundled gd versiju reizēm ir bijušas problēmas. Priekš Windows var mēģināt vilkt CVS snapšotus http://snaps.php.net/
  18. Roze

    gdlib

    $dst = ImageCreate($tn_width,$tn_height); nomaini labāk par imagecreatetruecolor() (ši gan nestrādās .gif bilžu gadijumā) Un ImageCopyResized() par imagecopyresampled() šādi bilde tiks noresaizota korektāk, gadijumā ja kāds no lielumiem būtu nekorekti aprēķināts.
  19. Roze

    preg_replace

    Ar preg_replace_callback() funkcijai attieciigi tieks padotas 'nomatchotās' vērtības un tu vari darīt tālāk ko gribi. Teiksim manā variantā noderēja šādi: $content = preg_replace_callback("/<text>(.*)<\/text>/Uis",create_function('$matches','return str_replace("\n","\\\\n",$matches[0]);'),$content);
  20. http://www.ossp.org/pkg/lib/mm/ eneiblo sesiju glabāšanu nevis uz diska bet gan atmiņā. Taču pēc dokumentācijas teikts, ka labāk ir izmantot standarta failu veidu, bet ātrdarbības labad var izveidot kādu ramdisku (tmpfs).
  21. 1) Caurumi ir programmas kodā pielaistas kļūdas, kas ļauj ar zināmiem paņēmieniem (nekorektu datu ievadi, pārslogošanu, neparedzētiem pieprasījumiem) iegūt tiesības / privilēģijas / nesankcionētu piekļuvi sistēmai un datiem. Visbiežāk attiecībā uz php ir divas lietas. Tā saucamais SQL Injection, kad kādā no nododamajiem parametriem lietotājs var ierakstīt netikai datus, bet veselu SQL kveriju. Otra ir failu "inklūdošana". Bieži vien no nolasāmajiem URL parametriem tiek noteikts kādus failu includēt un ja nav pietiekama pārbaude, tad iespējams, pamainot šos URL parametrus, nolasīt citus failus vai pat izpildīt komandas, kas protams dod iespēju tālākai "lauzēja" darbībai. 2) Tev kā hostinga pakalpojuma pircējām būtu jainteresējas vai taviem datiem (gan fiziskajiem php gan arī datubāzei) tiek veiktas regulāras kopiju izveides un cik ātrs ir reaģēšanas laiks problēmu gadijumā. Būtu labi ja tiktu izmantots kriptēts pieslēguma veids, proti, telnet / ftp vietā tiktu izmantos ssh un sftp (secure ftp) + ideāli būtu ja pieeja ir tikai no fiksētām iepriekš definētām adresēm. Ja serveris ir vairāklietotāju tad būtu svarīgi vai php darbojas Safe Modē un vai lietotāji ir atdalīti (jail, chroot). Noteikti vajadzētu painteresēties par firewalla esamību (vai web (db) serveris ir ārējā tīklā jeb vai tam priekšā ir iekārta / serveris kas to aizsargātu) un darbību (konekciju) logiem. Ja tas ir tavs personīgais serveris tad papildus visam iepriekšējām ir jāseko arī servera programmatūras atjauninājumiem, tur kritisku "caurumu" gadās krietni vien biežāk nekā php kodos :)
  22. Roze

    Darbs

    Tāda nu tā industrija ir ;)
  23. Roze

    Darbs

    Manuprāt viss ir ok. Tākā Latvijā principā web related lietas nemāca / vai arī tikai ļoti virspusēji, darbaspēks ir jāveido pašiem. Pašmācības ceļā process parasti ir krietni lēnāks, nekā ja cilvēks tiek piesaistīts reāliem projektiem (pēc paša pieredzes), kur jārisina aktuālas nevis tikai iedomu problēmas. Protams pastāv zināms risks par gala produkta kvalitāti, taču tā jau ir projekta vadītāja problēma un pārraudzība ;)
  24. Roze

    Vienc jautājums

    Attiecibā par MySQL tieši ir http://www.mysql.com/products/cluster/ un http://dev.mysql.com/doc/mysql/en/Replication.html Proti vairāku serveru klusterēšana vai replicēšana.
  25. Tiek izmantots mysql_pconnect, bet kaa jau teicu ar attieciigiem MySQL servera settingiem.
×
×
  • Create New...