Jump to content
php.lv forumi

Maris-S

Reģistrētie lietotāji
  • Posts

    634
  • Joined

  • Last visited

Everything posted by Maris-S

  1. Tomēr pārnesu savu domu, jo īsti nav pa tēmai. Tagad tā ir šeit: http://php.lv/f/topic/19199-kapec-izmantot-template-engines
  2. Maris-S

    IP Board

    Priekš kam tad jaukt prātu, tā uzreiz arī saki. Izmanto curl, protams ja likumdošana ļauj darīt to, ko taisies darīt.
  3. Maris-S

    IP Board

    Īsti nesapratu ko Tu domā ar vārdu "jaunais", kas notika ar veco forumu? Kā var nebūt pieejas pie vecā foruma? Paskaties skirptā kāda ir DB parole un pievienojies klāt. Vai arī Tu gribi pārkopēt kāda pavisam sveša foruma saturu?
  4. Mans uzskats ir tāds, ka īsti nav atšķirības vai būsi mācījies RTU, LU vai LLU, no darba meklēšanas viedokļa. Nav gluži tā, ka darba devēji neskatās izglītību, lielākā daļa, tieši nopietnu uzņēmumu, uz to skatīsies. Šajā ziņā piekrītu tam, ka ir jāskatās potenciālā darbinieka izglītības līmenis, nav svarīgi kur viņš mācījies, bet izglītības līmenis parāda to, vai cilvēks ir spējīgs mācīties un apgūt. Nav tāda darba kur aiziesi un uzreiz visu zināsi, jebkurā darbā būs jāiemācās vēl kaut kas klāt un, jo vairāk uzņēmumā ir jāapgūst, jo svarīgāks paliek izglītības līmenis, kaut vai tikai, lai pierādītu ka spēj mācīties. RTU patiešām pirmajā kursā ir maz no programmēšanas un patiešām ir tā saucamie laboratorijas darbi fizikā un ķīmijā un līdzīgos priekšmetos, bet visa sarežģītība tiem priekšmetiem ir tieši studentu slinkumā, nevis tas ka tas būtu patiešām sarežģīts. Teorija arī nav tik traki, ja mācās. Neticu, ka patiešām čakls topošais programmētājs nevarēs tikt galā ar augstāko matemātiku. Paralēli strādāt ir iespējams, bet tomēr tas mazliet sarežģīs mācību procesu. Man personīgi šī iemesla dēļ maģistratūra vēl līdz šim mazliet nav pabeigta. Tagad gan būtu ļoti reāli apvienot mācības ar darbu, bet jāsaņemas to visu atsākt. :)
  5. Metode click() Mozillās un Operā nestrādās. Paskaties šeit: http://www.quirksmode.org/dom/inputfile.html
  6. Nu pagaidām jau tikai alfa versija iznākusi ir, tātad vēl jāpagaida.
  7. Pēc kļūdu loga Tev ir php 6.0 versija, tā ir izstrādes stadijā un pat klīst baumas ka īsti sekmīgi ar viņu neiet kā iecerēts, jo sarežģīti realizēt iecerētās lietas. Cik skatos 6. versija pat izņemta no php oficiālās mājas lapas development sadaļas. Tā ka labāk liec vien tekošo jaunāko versiju un vēlams no oficiālās mājas lapas.
  8. Paskaties šo: http://php.net/manual/en/reserved.variables.server.php Tev vajadzētu tieši HTTP_REFERER.
  9. Tā tīri informatīva tēma. Šodien pamanīju ka jau kādu laiciņu ir iznākusi php 5.4 alfa versija. Ļoti interesanta likās viena no jaunajām iespējām. - Improved Session extension: . Added support for storing upload progress feedback in session data. (Arnaud) Izmēģinājis vēl neesmu, bet cerams ka būs thread safe šoreiz, nevis kā apc izmantošanas iespēja. Tā ka ja ir kādam interese var papētīt. Pilns jaunievedumu saraksts šeit.
  10. Varēt jau var, bet cik tas ir optimāli un vai vispār to vajag, ir jau pavisam cits jautājums. $values = array ( 'a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5 ); reset($values); $to = count($values); for ($i = 0; $i < $to; $i++) { echo("<p>" . key($values) . "=>" . current($values) . "</p>"); next($values); }
  11. DaGrevis, kļūdīties var pilnīgi jebkurā programmēšanas valodā. :) Ja runā tieši par šo konkrēto piemēru, tad ADA ir stingri tipizēta valoda, vēl vairāk nekā Paskālveidīgās un tādas lietas kā string salīdzināšana ar integeru vai tam līdzīgi tur nav pieļauta, tāpēc tur vienkārši nevajadzētu brīnīties par tādām lietām kāpēc 0 salīdzināšana ar "test" atgriež true. Man šķiet tur pat neies cauri tādas lietas kā byte un integer salīdzināšanas, varbūt kļūdos. Tomēr, lai saprastu lietas būtību pietiek ar to pašu Pascal/FPC/Delphi, tur arī netiek pieļautas tādas salīdzināšanas. Parasti cilvēks neizgājis stingri tipizētu valodu skolu vienkārši pat neaizdomājas ka apakšā notiek tipu konvertēšana un nesaprot kā strings var palikt vienāds ar 0. Lūk šeit arī ir viena no iespējām neuzmanības kļūdai. Stingri tipizētā valodā programmētājam vajadzēs pašam sākumā nokonvertēt tipus un ja pēc string konvertēšanas uz skaitli viņš salīdzinot to ar 0 dabūs true, tad pilnīgi noteikti paskatīsies, kas tiek atgriezts pēc konvertēšanas un sapratīs kas notiek. Tas ka php izdara visu automātiski nenozīmē ka konvertēšana nenotika, bet ne visi to saprot.
  12. Codez, pēc mana piemēra jebkurš var nobenčmarkot ko vien vēlās. :) To piezīmi par funkcijas izmantošanu cikla nosacījumā pa tiešo es nedomāju tieši tikai izmantošanai masīviem, bet vispārēji par ciklu uzbūvei. Marrtins, ja programmētājs ir daunis, viņam labāk būtu jādomā par kādu pavisam citu nodarbošanās veidu. Grozies kā gribi, cilvēks nav mašīna un jebkurš ģēnijs varēs pieļaut neuzmanības kļūdu, tieši šī iemesla dēļ kritiskajās sistēmās (aviācija un tml.) pielieto arī tādas valodas kā ADA, ne vienmēr, bet tomēr. Tādas valodas kā CPP ir neapšaubāmi labas valodas, bet kā jebkurai valodai ir arī savi trūkumi. Es, piemēram, neuzskatu par labu zīmi valodai to, ka garbage collector uzrakstīt ir vieglāk, nekā programmu bez memory leaks. Nopietnām programmām arī bieži ir bugi saistīti ar memory leaks, buffer underrun un tml., bet neviens viņu programmētājus neuzskata par dauņiem. Protams tādas kļūdas var rasties jebkurā valodā un neuzmanības kļūdas neviens Paskāls, ne ADA nevarēs izslēgt, samazināt gan varētu.
  13. PHP Version 5.2.17 $numbers = array_fill(0, 1000000, 0); $mtime = microtime(); $mtime = explode(" ",$mtime); $mtime = $mtime[1] + $mtime[0]; $starttime = $mtime; //$to = count($numbers); for ($i = 0; $i < count($numbers); $i++) $a = 1; echo(count($numbers)); $mtime = microtime(); $mtime = explode(" ",$mtime); $mtime = $mtime[1] + $mtime[0]; $endtime = $mtime; $totaltime = ($endtime - $starttime); echo "<br>This page was created in ".$totaltime." seconds"; Ar count ciklā: This page was created in 0.33966994285583 seconds Ar mainīgo: This page was created in 0.10282397270203 seconds It kā sīkums uz miljonu ierakstu, bet tomēr.
  14. Codez, tieši tā, automātiska tipu castošana, par ko Paskālisti un Delphisti brauc virsū C piekritējiem. Zināmā mērā es arī vairāk piekrītu Pascal veidīgo valodu pieejai šajā ziņā, jo tipu pārveidošanas automatizācija ir ļoti liels avots neuzmanības kļūdām, bet nu te katram savs viedoklis. Mani laikam uzskatīs par baigi piekasīgu, bet labāk ciklu nosacījumus raksti tā: $arr = array(0,1,'test',2,3); $to = count($arr); for($i=0; $i<$to; $i++){ if($arr[$i] == 'test') echo 'test, '; else echo $i.', '; } jo php nosacījumā norādīto count() rēķinās katra cikla solī uz ļoti lieliem cikliem būs veiktspējas zudums.
  15. Maris-S

    Desktop mysql

    Workbench ir laba lieta, bet tikai ir super bremzīgs. Tomēr īsti jēdzīga analoga nav (ja vajag ER diagrammas), cik esmu izmēģinājis ER diagrammas visvairāk patika workbenčam. Ja to nevajag tad es izmantoju Navicat, ir arī bezmaksas versija, pilnīgi pietiekama un palaižams caur wine arī.
  16. Nu ar diviem vaicājumiem var sataisīt, bet nav optimāli, jo būs cikliski daudz vaicājumu izpildīt, ja gribi vienā, tad viens no variantiem būtu šāds: select auctions.*, (select user_id from sola where auction_id = auctions.id order by id desc limit 1) as user_id from auctions Tabulu un kolonu nosaukumus tad saliec kādi Tev ir, arī protams pārbaudi visu.
  17. Nepievērsu uzmanību Tavējiem rezultātiem pirmajā tabulā, tur ir dažādi aid, to palaidu garām. Kā jau domāju pēdējo ierakstu var noteikt pēc lielākā id. Principā visu jau aprakstīju kā to panākt, ar diviem vaicājumiem tas izdarāms. Sākumā atrodi lielāko id un pēc viņa dabū visu ierakstu.
  18. Pag, a kā Tu nosaki ka tieši tas ieraksts ir pēdējais? Viņam tak ir mazākais id. Parasti, ja tiek izmantots autoincrement, tad pēdējam ierakstam ir tieši lielākais id.
  19. Tas ko Tu gribi panākt nav vienkārši izdarāms. Order by nelīdzēs, jo kārtošana nenotiek atsevišķi tikai joinotajam rezultātam. Vienīgais ko Tev varu ieteikt daudz nedomājot ir izmantot divus vaicājumus, pirmajā dabū otrās tabulas vajadzīgo id, pēdējam ierakstam pieļauju ka būs lielākais id, tātad max(id) un tad ar otro vaicājumu dabū visu ierakstu pēc noteiktā id. Vienā vaicājumā, iespējams, to arī varēs panākt, bet būtu jāizmanto kādas viltīgas metodes, ja ir ļoti liela vēlēšanās veikt tādu uzdevumu, tad vari mēģināt ar string apvienošanas lietām to izdarīt (concat). Iesākumam vari paskatīties šo tēmu, tur skaties tieši pēdējo vaicājumu, kaut kas līdzīgs tiek darīts, no šī vaicājuma vari mēģināt ideju izmantot, bet īpaši nesalīdzināju vai uzdevumi ir līdzīgi, tāpēc neapgalvoju ka šī metode derēs.
  20. Faks, Tu mainīgajam $name vienmēr piešķir jaunu vērtību, nevis apvieno tās, apskaties sekojošu kodu, palaid viņu un pārbaudi ko viņš izvadīs, tad sapratīsi par ko Namākuphp runā. Post mainīgā vietā es izmantoju vienkāršu mainīgo, tas šoreiz neko nemaina. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Ievaddatu pārbaude.</title> </head> <body> <xmp> <?php $post = "Ienākošie dati, ko vajag pārbaudīt, jo var būt speciālie simboli, piemēram: ', <, >."; $name = $post; $name = mysql_real_escape_string($post); //Pirms izmantot šo funkciju jāizveido savienojums ar MySQL datubāzi. $name = htmlentities($post); $name = trim($post); $name = stripslashes($post); $name = addslashes($post); echo("Rezultāts pēc visām drošības apstrādēm.\n"); echo("$name\n\n"); $post = "Ienākošie dati, ko vajag pārbaudīt, jo var būt speciālie simboli, piemēram: ', <, >."; $name = addslashes($post); echo("Rezultāts tikai pēc addslashes apstrādes.\n"); echo("$name\n"); ?> </xmp> </body> </html> Vari pārliecināties ka rezultāts ir pilnīgi vienāds abos gadījumos, gan pārbaudot visu ko Tu pārbaudi, gan izpildot tikai addslashes. Vēl viens kods, kurā vari redzēt pa soļiem kas notiek. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Ievaddatu pārbaude.</title> </head> <body> <xmp> <?php $post = "Ienākošie dati, ko vajag pārbaudīt, jo var būt speciālie simboli, piemēram: ', <, >."; $name = $post; echo("Ienākošie date: $name\n"); $name = mysql_real_escape_string($post); //Pirms izmantot šo funkciju jāizveido savienojums ar MySQL datubāzi. echo("Mysql_real_escape_string: $name\n"); $name = htmlentities($post, ENT_COMPAT, 'UTF-8'); echo("htmlentities: $name\n"); $name = trim($post); echo("trim: $name\n"); $name = stripslashes($post); echo("stripslashes: $name\n"); $name = addslashes($post); echo("addslashes: $name\n"); ?> </xmp> </body> </html>
  21. Tas ko Tu mēģini panākt ir sarežģīti izdarāms tikai ar CSS, nezinu vai vispār iespējams. Domāju, ja arī atradīsi risinājumu, tad noteikti tas būs ar daudziem diviem apkārt, lai kaut kādā veidā centrētu vajadzīgo saturu. Visvienkāršākais veids kā to izdarīt ir tabula, kaut arī mūsdienās nav tik populāra izkārtojumam, bet viņa strādās un pat uz visiem pārlūkiem. Domāju ka tādu datu izvietojumu, ko Tu centies sasniegt daļēji var uzskatīt arī par tabulāriem datiem, jo visumā veidojas tabula, bet nu tas vai izmantot vai neizmantot tabulu ir jau gandrīz kā reliģisks jautājums, tā ka izvēlies pats. Tuvākais risinājums ar CSS ir izmantot inline-block div elementus, bet tomēr tas neļaus sasniegt ko vēlies, jo, piemēram, ja pēdējā rindā būs par vienu div elementu mazāk, tad rinda nebūs piespiesta kreisajai malai. Uz visiem pārlūkiem nepārbaudīju. Tālāk kods. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Centered divs</title> <style type="text/css"> div#container { text-align: center; } div#container div { width: 300px; height: 150px; margin: 0px 5px 5px 0px; background-color: lime; display: inline-block; } </style> </head> <body> <div id="container"> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div> </body> </html> Vēl viens risinājums ir papildināt CSS ar javascript, tad gan jau ka varētu panāk vēlamo rezultātu, mūsdienās javascript ir diezgan izplatīts, tā ka nebūs daudzi, kam viņš būs atslēgts, arī izveido dizainu tā, lai ar izslēgtu javascript viss strādātu, bet nenotiktu centrēšana, vienkārši tie, kam nebūs javascripts, redzēs saturu mazliet nobīdītu uz kreiso malu, bet lielākā daļa redzēs normālu izskatu. Visumā cik esmu redzējis tādas mājas lapas, pārsvarā ir necentrētas, tā ka javascript izmantošana šajā gadījumā ir pieņemama. Piemēram 2u.lv, saturs tiek attēlots no kreisās malas, mainot pārlūka izmēru var redzēt ka nekāda centrēšana nenotiek.
  22. Kaklz, tieši tā, ja pieejams crontab, tad labāk izmantot pieeju, ko Tu piedāvā, bet ja nav tad gan jādomā citi varianti. Šķiet bij arī kaut kādas metodes kā fonā palaist php skriptu, bez crontab, sanāk pa mūžīgo ciklu, bet iespējams es to rakstu nepareizi sapratu un arī īpaši neapskatīju uzmanīgi, nebija vajadzība, tā ka iespējams kļūdos. Pašam gan ir nācies taisīt sistēmas kur faila pēcapstrāde, pēc augšupielādēšanas, aizņem kādu laiciņu un jā, tieši tā arī darīju, rakstīju paziņojumu: "Fails tiek apstrādāts, lūdzu uzgaidiet".
  23. Daudz vērtīgu padomu, bet neviens neatbild uz autora pamatjautājumu. :) Pats neko tādu neesmu taisījis, bet šķiet ka tā lieta strādā tikai no komandrindas, tāpēc jāizpilda kā ārēja programma. Tad, kad fails tiks augšupielādēts, izpildi ffmpeg kā ārējo programmu uz atbilstošo, tikko augšupielādēto, failu. Izsaukt ārējo programmu varētu ar exec un system, papēti šīs funkcijas. Jā un ņem vērā arī ieteikumus par drošības uzlabošanu, ka jau šeit minēja.
  24. Man šķiet ka optimālais variants Jums būtu paņemt pašu vienkāršāko hostingu. Nedomāju ka mailu apjomus uz doto brīdi būs desmitiem gigabaitu. Arī vienkāršu vizītkartes tipa mājas lapu mierīgi varēsiet uzlikt. Tāda pieeja šādām vienkāršām darbībām ir diezgan bieži sastopama. Paskaties kaut vai serveris.lv izmaksas, minimālais ir ap 3 ls mēnesī, būs 7 e-maili un 5 GB, ja vajag vairāk, tad ņem nākošo pieslēgumu. Ja salīdzina ar datora izmaksām, kas tika minētas, 100-150 ls, tad šitās naudas tā uzturēt e-pastu pietiks diezgan ilgam laikam, pa to laiku jau sapratīsiet vajag savu serveri vai ko citu taisīt un arī zināsiet cik labi uzņēmums darbojas. Priekšniekam uzliec jebkuru mail klientu: outlook, Thunderbird vai jebkādu citu, iespējams pat latviskot viņus varēs, sakonfigurē, lai e-pastus novelk no servera, lai nodrošinātu ka uz servera vieta pietiks, protams neaizmirsti par e-mailu rezerves kopēšanu, ja tie nepaliks uz servera. Tādai pieejai daudz priekšrocību. Stabils internets, tehniskais nodrošinājums, arī datoru nevajadzēs ieslēgtu turēt, kas dūc un elektrību ēd. To kur hostēties ir jau Tava izvēle, serveris.lv ir tikai kā piemērs, domāju varēs arī lētākus atrast, būtu labi arī pameklēt atsauksmes par uzņēmumu kura pakalpojumus izvēlēsies izmantot, ja šādā veidā to darīsi.
×
×
  • Create New...