Jump to content
php.lv forumi

darksign

Reģistrētie lietotāji
  • Posts

    198
  • Joined

  • Last visited

Everything posted by darksign

  1. tnx, par skaidrojumu, sāku kaut ko saprast, bet ne līdz galam. Uzliku FF CertViewerPlus spraudni, apskatījos pem failus, izeksportēju un nokopēju pareizo, uztaisīju konekciju caur komandrindu, kā parādīji, viss ok, rādās ka konekcija ir. To pašu pamēģināju nenorādot sertifikāta failu, arī ir ok (nezinu kapēc tā...) rāda ka verified..., tad pamainīju komandu šādi "openssl s_client -verify 10 -connect www.e-latvenergo.lv:443" un atbildē dabūju ne vairs 10 kodu, bet 19 -> "Verify return code: 19 (self signed certificate in certificate chain)", vismaz rezultāts savādāks, sapratu to visu tā, ka ja nenorādu CA failu, tad openssl kaut vai tas sertifikāts nav self signed, bet gan trešās kompānijas izdots, vienalga ja neesmu norādījis savā pusē ka pieņemu, tad rāda self signed (pieļauju, ka FF to apstiprināšanu dara automātiski, ja ierauga pazīstamu izdevējfirmu) Labi, lai arī tur būtu caur to komandrindu, bet mērķis man ir to visu dabūt caur php kodu. Lai es varētu pieslēgties, nosūtīt post datus (curl) un saņemt atpakaļ atbildi (redzēt sourci). No sākuma gribēju izmēģināt ignorējot SSL prasības, pieliku parametrus: CURLOPT_SSL_VERIFYPEER => false, //Ja gadiijumaa apniik njemties, lai ignoree un iztiek bez handsheika CURLOPT_SSL_VERIFYHOST => false, Šie labi nostrādā uz latvenergo lapu, un viņam var nodot post datus, jo viņam ir po, ko es izmantoju, viņš atbalsta visu, ka tik klients atnāk līdz viņam, kaut vai pa nedrošu kanālu, un sourci varēju redzēt. Bet kad šo pašu mēģināju tur kur man vajag, tad nekā... serveris atbildēja, lai eju tējot... bez pareiziem sertifikātiem nekā nedabūšu (kas arī ir pareizi no drošības puses). Tad nu gribu to sourci uz latvenergo lapu dabūt neizmantojot CURLOPT_SSL_VERIFYPEER un CURLOPT_SSL_VERIFYHOST, jeb viņiem abiem jābūt ir true. Kuros curl-setopt parametros man jāiebaro viņam tas pem vai kāds cits sertifikāta fails? būšu ļoti pateicīgs par konkrētu atbildi :)
  2. nebija vajadzības ar AsynchronousFileChannel. Jo notesteejaam ar to Close() tredos, un ja pirms tam bija kļūda, ka failu nevar atvērt, tad tagad Close() vajadzīgā vietā, un mierīgi uz darba datora var 5-6 reizes milisekundē no vairākām plūsmām aiztikt vienu un to pašu failu, kas man arī ir ok (iepriekš bija problēmas kad tikai 5-6 reizes sekundē pie tā faila vērsos...). Tagad nav kļūdas rādījušās pie max patreizējās noslodzes, un izskatās ka būs ok :)
  3. Es pamēģināju, šeit kods: <?php function print_arr($arr) { echo "<br />\n\n<xmp>\n\n"; print_r($arr); echo "\n\n</xmp>\n\n<br />"; } /** * Get a web file (HTML, XHTML, XML, image, etc.) from a URL. Return an * array containing the HTTP server response header fields and content. */ function get_curl($url) { if (!function_exists('curl_setopt_array')) { function curl_setopt_array(&$ch, $curl_options) { foreach ($curl_options as $option => $value) { if (!curl_setopt($ch, $option, $value)) { return false; } } return true; } } $options = array( CURLOPT_RETURNTRANSFER => true, // return web page CURLOPT_HEADER => false, // don't return headers CURLOPT_FOLLOWLOCATION => true, // follow redirects CURLOPT_ENCODING => "", // handle all encodings CURLOPT_USERAGENT => "Firefox", // who am i CURLOPT_AUTOREFERER => true, // set referer on redirect CURLOPT_CONNECTTIMEOUT => 30, // timeout on connect CURLOPT_TIMEOUT => 60, // timeout on response CURLOPT_MAXREDIRS => 10, // stop after 10 redirects CURLOPT_CAINFO => 'www.e-latvenergo.lv.crt', ); $ch = curl_init( $url ); curl_setopt_array( $ch, $options ); //tikai no php 5 un jaunaakas versijas $content = curl_exec( $ch ); $err = curl_errno( $ch ); $errmsg = curl_error( $ch ); $header = curl_getinfo( $ch ); curl_close( $ch ); $header['errno'] = $err; $header['errmsg'] = $errmsg; $header['content'] = $content; return $header; } $url = "https://www.e-latvenergo.lv/"; $web = get_curl($url); print_arr($web); ?> Šeit rezultāts: Array ( [url] => https://www.e-latvenergo.lv/ [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0 [namelookup_time] => 0 [connect_time] => 0.016 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => 0 [upload_content_length] => 0 [starttransfer_time] => 0 [redirect_time] => 0 [errno] => 77 [errmsg] => error setting certificate verify locations: CAfile: www.e-latvenergo.lv.crt CApath: none [content] => ) Veids kā dabūju to crt failu: atvēru caur firefox vaļā https://www.e-latvenergo.lv/, tad nospiedu uz tā zaļā laukuma pie adreses kreisajā pusē, tur "More information" tad uzspiedu "View Certificate" un sadaļā "Details" nospiedu "Export..." un saglabāju crt failu. Šeit ir crt faila saturs (35 rindiņas, pēdējā ir tukša): -----BEGIN CERTIFICATE----- MIIF6jCCBNKgAwIBAgIQU3fUE4h+eRVq5mypwjNaYDANBgkqhkiG9w0BAQUFADCB vjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMv VmVyaVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0Ew HhcNMDcxMjE5MDAwMDAwWhcNMDkxMjE4MjM1OTU5WjCCAVQxEzARBgsrBgEEAYI3 PAIBAxMCTFYxEjAQBgsrBgEEAYI3PAIBAhMBLTESMBAGCysGAQQBgjc8AgEBEwEt MRswGQYDVQQPExJWMS4wLCBDbGF1c2UgNS4oYikxFDASBgNVBAUTCzQwMDAzMDMy OTQ5MQswCQYDVQQGEwJMVjEPMA0GA1UECBMGTGF0dmlhMQ0wCwYDVQQHFARSaWdh MRYwFAYDVQQKFA1BUyBMYXR2ZW5lcmdvMTIwMAYDVQQLFClUZXJtcyBvZiB1c2Ug YXQgd3d3LnZlcmlzaWduLmNoL3JwYSAoYykwNTEiMCAGA1UECxMZQXV0aGVudGlj YXRlZCBieSBWZXJpU2lnbjEnMCUGA1UECxMeTWVtYmVyLCBWZXJpU2lnbiBUcnVz dCBOZXR3b3JrMRwwGgYDVQQDFBN3d3cuZS1sYXR2ZW5lcmdvLmx2MIGfMA0GCSqG SIb3DQEBAQUAA4GNADCBiQKBgQCyGT11zkNwqlzIvvRxkgpRjzdDA90nFmcbYgqg SB3qTRAUljpw3dVmSbd+MkAR6pO9II9RJeSxA1EDq8RdG1peCMlpYQW4HHIVG2Yn 0Vv/dHEaDXU3PPeoWIU0oTol3R0G9KoDFpHcJJQu7LEXTs7jKAnmv4Fde0raS6dL dniG1wIDAQABo4IBzTCCAckwCQYDVR0TBAIwADALBgNVHQ8EBAMCBaAwQwYDVR0g BDwwOjA4BgtghkgBhvhFAQcXBjApMCcGCCsGAQUFBwIBFhtodHRwczovL3d3dy52 ZXJpc2lnbi5jaC9ycGEwPgYDVR0fBDcwNTAzoDGgL4YtaHR0cDovL0VWSW50bC1j cmwudmVyaXNpZ24uY29tL0VWSW50bDIwMDYuY3JsMCgGA1UdJQQhMB8GCCsGAQUF BwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBMB8GA1UdIwQYMBaAFE5DyB127zdTek/y WG+U8zji1b3fMG8GCCsGAQUFBwEBBGMwYTAkBggrBgEFBQcwAYYYaHR0cDovL29j c3AudmVyaXNpZ24uY29tMDkGCCsGAQUFBzAChi1odHRwOi8vRVZJbnRsLWFpYS52 ZXJpc2lnbi5jb20vRVZJbnRsMjAwNi5jZXIwbgYIKwYBBQUHAQwEYjBgoV6gXDBa MFgwVhYJaW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUS2u5KJYGDLvQUjibKaxLB4sh BRgwJhYkaHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nbzEuZ2lmMA0GCSqG SIb3DQEBBQUAA4IBAQBusmroMpTEyADXJ8Np+dsCIvORLnrXzzRmjs1iODUaVbOZ VXRBR4L+YSaRXVQL9fhFaF5Hdw5EHbIRsJPcdAMmeZzpt05YzSxrcLBHHWkyruWE fGhHUwam1YJfNVgJr79dr4S15DUE+Y3T23xYmzxr6gGfYMFPwrlcmsMXkpVT0Y+e 4cR1WPNtZYXppU2wAOA7DSgXe3vzBtO2gpqrSQf8EfVkWPZwQb7txoTAJhHCtS2P G59rxaNO/FxFC7JVoj9VRfsA2ndVsltxkns9Siav5Itzl7szG7Au85pi5g2Ps4ld Tn6wjg0jeAw75XGWFVD/XoZEk5POLCXkSTtRSp0k -----END CERTIFICATE----- Kas tur nav pareizi, kapēc viņš neredz kontentu? Kā viņam pareizi iebarot to sertifikāta failu? P.S. Crt fails ir tai pašā direktorijā kur php fails.
  4. paldies par padomu.. pameegjinaashu.. zinjoshu par rezultaatiem :)
  5. to bubu: iespeejams ka neizskataas.. bet shis konkreetais koda gabals ir no ekomercijas moduljiem... tapeec shajaa teemaa ;) bet protams.. tev arii taisniiba ;) es tagad pameegjinaaju vienkaarshi to failu aizveert.. ar Close() ... simuleejot pluusmaas izskataas ka kljuuda vairs nemetaas.. lai gan pastaav teoreetiska iespeeja.. toties daudz mazaaka.. jo negaida kameer skripts beigsies... dziivosim.. redzeesim, kaa buus.. vai metiis atkalj kljuudas...
  6. javai es iedodu config failu kuraa ir vairaakas rindas: server_url=... keystore_file_path= password= tips=JKS utt.. un no turienes tiek panjemti.. nav nekaadi papildus parametri.. un man nav nevienu citu sertifikaatu failu, kaa tas ir "CA" gadiijumaa kur ir laikam 3 faili.. sertifikaats, atsleega, un veel chain fails...! kaa shos pashus pareizi noraadiit ieksh php?
  7. Šei ir veids kā to dara iekš JAVA: import com.sun.net.ssl.internal.ssl.Provider; import java.io.PrintStream; import java.net.HttpURLConnection; import java.net.URL; import java.security.Security; import java.util.Properties; public class myClass { public myClass(MyObject object1) { try { String s = System.getProperty("java.version"); ..... ServerURL = ... proxyHost = ... proxyPort = ... httpsHandler = ... httpsCipher = ... keystoreFile = ... keystoreType = ... keystorePass = ... connectionTimeout = ... System.setProperty("javax.net.ssl.keyStore", keystoreFile); System.setProperty("javax.net.ssl.keyStoreType", keystoreType); System.setProperty("javax.net.ssl.keyStorePassword", keystorePass); System.setProperty("javax.net.ssl.trustStore", keystoreFile); System.setProperty("javax.net.ssl.trustStoreType", keystoreType); System.setProperty("javax.net.ssl.trustStorePassword", keystorePass); if(httpsHandler != null && httpsHandler.length() > 1) System.setProperty("java.protocol.handler.pkgs", httpsHandler); if(httpsCipher != null && httpsCipher.length() > 1) System.setProperty("https.cipherSuites", httpsCipher); if(proxyHost != null && proxyHost.length() > 1) { System.getProperties().setProperty("https.proxyHost", proxyHost); if(proxyPort != null && proxyPort.length() > 1) System.getProperties().setProperty("https.proxyPort", proxyPort); } if(connectionTimeout != null) System.setProperty("java.net.connectiontimeout", connectionTimeout); } catch(Exception exception) { System.err.println("error: configuration problems (" + exception.getMessage() + ")"); } } public void openConnection() { try { URL url = new URL(ServerURL); Conn = (HttpURLConnection)url.openConnection(); Conn.setDoOutput(true); } catch(Exception exception) { System.err.println("error: SSL connection problems (" + exception.getMessage() + ")"); } } String ServerURL; String proxyHost; String proxyPort; String httpsHandler; String httpsCipher; String keystoreFile; String keystoreType; String keystorePass; String connectionTimeout; HttpURLConnection Conn; } Man nepieciešams šo te uztaisīt ar PHP. Butībā nav skaidrs kā konkrētās rindas iebarot php curl vai kādai citai funkcijai iekš php: System.setProperty("javax.net.ssl.keyStore", keystoreFile); System.setProperty("javax.net.ssl.keyStoreType", keystoreType); System.setProperty("javax.net.ssl.keyStorePassword", keystorePass); System.setProperty("javax.net.ssl.trustStore", keystoreFile); System.setProperty("javax.net.ssl.trustStoreType", keystoreType); System.setProperty("javax.net.ssl.trustStorePassword", keystorePass); Es domāju šajā virzienā.. bet te kaut kas nestrādā: //megjinam piesleegties serverim ar shaadiem parametriem CURLOPT_SSLKEY => "/keystores/spec.keystore", // The name of a file containing a private SSL key. CURLOPT_SSLKEYPASSWD => "xxxparolexxx", // The secret password needed to use the private SSL key specified in CURLOPT_SSLKEY. CURLOPT_POSTFIELDS => $postfields, šeit ir pilnais kods: function get_curl($url, $postfields) { if (!function_exists('curl_setopt_array')) { function curl_setopt_array(&$ch, $curl_options) { foreach ($curl_options as $option => $value) { if (!curl_setopt($ch, $option, $value)) { return false; } } return true; } } $options = array( CURLOPT_RETURNTRANSFER => true, // return web page CURLOPT_HEADER => false, // don't return headers CURLOPT_FOLLOWLOCATION => true, // follow redirects CURLOPT_ENCODING => "", // handle all encodings CURLOPT_USERAGENT => "Firefox", // who am i CURLOPT_AUTOREFERER => true, // set referer on redirect CURLOPT_CONNECTTIMEOUT => 30, // timeout on connect CURLOPT_TIMEOUT => 60, // timeout on response CURLOPT_MAXREDIRS => 10, // stop after 10 redirects //megjinam piesleegties serverim ar shaadiem parametriem CURLOPT_SSLKEY => "/keystores/spec.keystore", // The name of a file containing a private SSL key. CURLOPT_SSLKEYPASSWD => "xxxparolexxx", // The secret password needed to use the private SSL key specified in CURLOPT_SSLKEY. CURLOPT_POSTFIELDS => $postfields, // The full data to post in a HTTP "POST" operation. //To post a file, prepend a filename with @ and use the full path. //This can either be passed as a urlencoded string like 'para1=val1&para2=val2&...' //or as an array with the field name as key and field data as value. If value //is an array, the Content-Type header will be set to multipart/form-data. ); $ch = curl_init( $url ); curl_setopt_array( $ch, $options ); //tikai no php 5 un jaunaakas versijas $content = curl_exec( $ch ); $err = curl_errno( $ch ); $errmsg = curl_error( $ch ); $header = curl_getinfo( $ch ); curl_close( $ch ); $header['errno'] = $err; $header['errmsg'] = $errmsg; $header['content'] = $content; return $header; } Bet rezultātā patreiz dabūju šādu kļūdas ziņojumu: Ir kādas idejas?
  8. Vajag bez file lock jeb synchronize režīma, t.i. atvērt failu tikai lasīšanai, lai to nebloķētu, un tai pašā laikā varētu izmantot cita programma: import java.io.*; import java.util.Properties; ... props = new Properties(); readProperties(s); ... public void readProperties(String s) throws ConfigurationException { try { props.load(new FileInputStream(s)); //shii rinda sagaadaa probleemas... kas noved pie exception... katru otro reizi kad izsauc funkciju (sekundes laikaa izsaucu vairaakas reizes...) } catch(IOException ioexception) { throw new ConfigurationException("exception reading file (" + s + ")", ioexception); } getProperties(props); } Ja kāds zin, tad būtu ideāli ja pateiktu ko tur var palabot, vai kurā virzienā meklēt !? Iespējams, ir kaut kādi globālie mainīgie javā ko uzstādot tas process notiek savādāk!?
  9. uzraksti piemēru, kādu url tu izmanto.. būs vieglāk saprast kas tev tur nesanāk... p.s. pamēģini izmantot Total Commander, WinSCP vai arī FileZilla būs vieglāk ;)
  10. Tur visticamāk nav nekāds sakars ar pašu wordpress. Man arī tā gadījās uz viena klienta lapas, kur ir savs php rakstīts. Izrādījās pētot logus, ka tur tie faili ir izmainīti caur ftp no ārzemju ip. Kaut kāds botnets uzdarbojies. Klients bija dabūjis vīrusu datorā, kurš pārķer ftp paroles. Kamēr kopējis kaut kādus failus. Problēmu atrisināju vienkārši nomainot ftp paroles. Pamainīju drošības pēc arī failiem permisijas uz readonly, katru reizi kad kaut ko mainīju atstāju tikai apachem lai var skatīt. Un protams klientam pārinstalēju un iztīriju kompi, uzliku normālu antivīrusu (iesaku esset smart security (nod32) vai kaspersky, bet kaspersky manuprāt bremzē kompi mazliet vairāk nekā nod32). Pašus iframe tagus protams vajag uzreiz izdzēst. Pie tam paskaties vai tik uz servera visaadās mapītēs tur pat blakus nav nezināmas izcelsmes html faili... kurus arī vajag izdzēst, citādi google ieliks tevi blacklistā... un ta būs jāraksta vēlstules (caur google webmaster tools ... ), lai njem ārā... (vinji pavisam neiznjem, bet tikai ieliek arhiivaa..)
  11. atradu netā, ka var pielikt šādas rindas: MASQUERADE_AS(blah.com)dnl MASQUERADE_DOMAIN(blahhost.blah.com)dnl FEATURE(masquerade_envelope)dnl Tas viss būtu ļoti jauki, taču lieta tāda, ka vai nu man uz Solaris nedarbojas m4 programma, vai arī īsti neizprotu kā viņai jāstrādā, jo uzrakstot: m4 /etc/mail/cf/cf/sendmail.mc > /etc/mail/cf/cf/sendmail_jaunais.cf Man netiek noģenerēts /etc/mail/cf/cf/sendmail_jaunais.cf fails. Pirmkārt bija kļūdas paziņojums ka fails neeksistē. Labi, uztaisīju to failu touch /etc/mail/cf/cf/sendmail_jaunais.cf Nomainīju permisijas uz 777. Bet pēc m4 komandas izpildes vienalga fails tukšs... Ir kādas idejas vai pieredze?
  12. nu labi, bet rpr, tu zini kā to izdarīt uz kādu citu mail serveri?
  13. Tur jau tas joks ka tieši izmanto, citādi jau neprasītu :D
  14. any ideas??? neviens nav saskaaries ar shaadu lietu?? :)
  15. es jau to pēdējo parametru esmu izķemmējis, un nekā tur tādu neatradu.. visu ko varu nomainīju. Problēma tā, ka to MTA pieliek tas mail serveris, nevis tā mail() funkcija vai tas serveris no kurienes es izsūtu.
  16. Man nepieciešams uztaisiit epasta sūtītāju, kas maniem klientiem nosūta normālu epastu. Skripts protams ir ok, visu sūta. Bet tā kā tas epasta sūtītājs atrodas uz kaut kādu iekšējo lokālo serveri un suuta caur domeena mail serveri, tad headeros vēstulē ieraksta šādu info: Reporting-MTA: dns; www.mansdomens.lv <- shis ir ok Received-From-MTA: dns, 192.168.1.2 <- shis nav ok, vajag, lai ir www.mansdomens.lv Nu un daudzi epasta serveri saliidzina abus MTA parametrus.. ja nesakriit tad met spam kastee, vai vispaar nepiegaadaa. Man nepieciešams lai vareetu uzlikt savu custom "Received-From-MTA". Kā to izdarīt nav ne jausmas. p.s. root pieeja pie epasta serveriem protams ir... p.s.s. salasījos netā, ka iespējams ir jāuzliek t.s. smarthost, bet arī to nesapratu kā izdarīt... (admin lietaas uz solaris + sendmail veel neesmu tik zinošs) te ir viens no linkiem, kurš man likās ka kaut ko pasaka: http://www.elandsys.com/resources/sendmail/smarthost.html Problēma līdzīga ir arī šeit: http://objectmix.com/sendmail/346079-dealing-rejected-outgoing-mails-due-localdomain-header.html#post1266592 meegjinaaju izmainiit shaadu rindinju sendmail.cf failaa: HReceived: $?sfrom $s $.$?_($?s$|from $.$_) aizvietoju ar HReceived: $?sfrom www.mansdomens.lv (www.mansdomens.lv [x.x.x.x]) Bet visu to izlasot tomēr arī nesapratu kas un kā jādara.. tapēc prasu palīdzību :) Nesapratu arī vai varu manuāli rediģēt /etc/mail/sendmail.cf failu, vai arī tur kaut kaadu citu failu jāizmaina, un tad viņš jāģenerē (kā to dara???)... vai arī tāpat kā crontabiem .. izmaina failu, un tad vinju aktivizē padodot kā parametru kaut kur... ? Lūdzu izsakiet domas, idejas, un droši visādus linkus... varbuut uzvedinaas uz pareizaas domas :)
  17. hmm, interesanti.. kas tad tas bija par biznesu, par ko šie bija neapmierināti, ka uzdrošinājās neizmaksāt naudu??? :)
  18. darksign

    apache

    Sveiki! Problēma pavisam vienkārša, apache neraksta error logu (tai pat laikā accesslog tiek veiksmīgi rakstīts, tai pašā direktorijā, un definēts zem tās pašas galvenās direktīvas), kaut gan apache httpd.conf failā ir ielikts defaultais: ErrorLog logs/error_log LogLevel warn LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent CustomLog logs/access_log combined īsti nav skaidrs, vai apache nevar atrast to mainīgo "logs" .. kā jau parasti, šī nav direktorija, bet gan mainīgais, pēc defaultā.. nezinu kur viņš uzstādas.. varbūt problēma ir tajā, ka viņš to mainīgo neredz... ? Paši logi ir kā jau parasti: /var/log/httpd/... Tai pat laikā izveidotajiem virtual hostiem.. ierakstot kādā no to direktīvām apache konfigurācijā, error logi rakstās bez problēmām: ErrorLog logs/virtual_error_log Vai kāds ir saskāries ar šādu problēmu? p.s. man ir iedots sainstalēts serveris, neko pa jaunam pārinstalēt nedrīkstu, bet shell access man ir.. kādi ieteikumi? .. googlee jau izskatījos, nevaru atrast, varbūt nenāk galvā īstie keywordi.. ta ka ja kaut ko atrod, iemet linku :) tnx ;)
  19. Līdzīga problēma ir aprakstīta šeit: links tur izlīdzējās ar ereg("[A-Z]", ....) funkciju. vēl te viens piemērs: $test1 = "This started with a capital"; $test2 = "this one not"; testCapital($test1); testCapital($test2); function testCapital($aStr) { $firstChar = substr($aStr,0,1); if ($firstChar == mb_strtoupper($firstChar)) { echo "<br>'".$aStr."' starts with a capital."; } else { echo "<br>'".$aStr."' starts NOT with a capital."; } } paartaisi to savaam vajadziibaam un buus ok ;)
  20. ir veel taads Hiren's boot CD .. tur ir visaadi labi riiki (caur "dos" vidi palaizhas) kur var arii kaut kaadus labus darbus izdariit.. pirms kjeras klaat GetDataBack (jo tas ir diezgan ilgs process) ... ir savu reizi ljoti labi nostraadaajis tajaa esoshais, ja nemaldos Norton Disk Doctor.. vai kaut kaads cits dakteris.. :)) pameklee netaa iso failu.. kaut kur ir briivi pieejams
  21. ok.. lieta skaidra.. bet joprojaam taa arii iisti nezinu kaa ieksh php to 16 vai vairaak ciparu skaitli pareizi un skaisti konverteet uz stringu... ir kaada iebuuveetaa funkcija php? vai pasham vien ir shitaas lietas jaacep augshaa? p.s. vismaz uz aatro skatoties php.net neatradu.. googlee ierakstot "php int to string" .. atrodas labi varianti kaa stringu paartaisiit uz int.. bet otraadi ir tikai strval($int) un tas pats type castings (string)$int bet arii sheit ja cipars lielaaks par 16 simboliem.. tad nekonverteejas taa kaa vajag... :/ viens jau daudz maz normaalaaks veids, kas kaut kaa darbojas buutu: $a = 123456789123456223; $v = number_format($a,0,'.',''); te piemeers: $a = 123456789123456223; $v = number_format($a,0,'.',''); var_dump($v); echo "<br />"; echo (string)$v; echo "<br />"; echo (string)$a."<br />"; un izvads: string(18) "123456789123456224" 123456789123456224 1.23456789123E+17 cik sapratu no php.net ka to number_format arii izmanto tajos type castingos.. bet nu nezinu kaa vinji tur iebuuveejushi.. tachu ar roku straadaa labaak.. hmm.. laikam vinji veel pa vidu tur kaut kur uz float vai bigint kāsto... !? ir veel kaads veids kaa tos lielos ciparus ar iebuuveetajaam funkcijaam uz stringiem taisiit?
  22. laikam jau taa arii ir.. bet kaa tad vinju vajag to mainiigo (shajaa gadiijumaa int tipa) pareizi ieksh php konverteet uz stringu?
  23. ja tas buutu C tad es par to uztrauktos.. bet taa kaa tas ir php tad praktiski taa ir skriptu valoda.. un viss tur ir strings.. tikai vinjsh te izliekas dazreiz ka kaut ko paarveersh par skaitljiem :D nu bet shoreiz laikam tas skaitlja buutiiba te ir svariiga un laikam nostraadaa to ko teica Kavasaky bet vienalga.. nezinu kapeec piem php neizpilda to type castingu (string)$a vai ari shaadu lietu $a = $a.""; un te vinjam vajadzeetu konverteeties uz stringu.. bet redz nee.. shis paliek par to pashu intu.. stulbi. tur jau arii tas joks, ka php nav iisti inti.. tie ir interpreteeti no stringa.. tapeec arii visaadi gljuki
×
×
  • Create New...