Pereiti prie turinio

Neaiškumai [PHP]


Rekomenduojami pranešimai

Tai va, kartais užeina noras paprogramuoti. Kartu iškyla ir neaiškumų. Taigi visko klausiu šioje temoje.

 

Pirmas klausimas būtų:

 

Kaip su PHP nustatyti naršyklės versiją, ar tai WAP2.0 ar WAP1.0 ar tai kokia nors kompiuterio naršyklė (Opera, FireFox etc.). :D

Redagavo Vadas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

$_SERVER['HTTP_USER_AGENT'];

 

 

Šią funkciją žinau, ji parodo kokia naršyklė kaip programa (IE, Opera etc), koks pavadinimas ir versija. O ką rodytų jei ateitų su telefonu kur tiesiog yra wap versiją? Vietoj Mozilla/5.0 (kaip pavyzdys) rodytų kokia WAP versija ?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Šią funkciją žinau, ji parodo kokia naršyklė kaip programa (IE, Opera etc), koks pavadinimas ir versija. O ką rodytų jei ateitų su telefonu kur tiesiog yra wap versiją? Vietoj Mozilla/5.0 (kaip pavyzdys) rodytų kokia WAP versija ?

 

http://forums.port80.asn.au/archive/index.php/t-7538.html

 

Pirmas google.com rezultatas įrašius "$_SERVER['HTTP_USER_AGENT'] wap" :D Nejau taip sunku?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

http://forums.port80.asn.au/archive/index.php/t-7538.html

 

Pirmas google.com rezultatas įrašius "$_SERVER['HTTP_USER_AGENT'] wap" :D Nejau taip sunku?

 

Na nesunku, bet... :)

 

O šiaip man reikėjo ištraukti ar telefonas palaiko HTML, čia neparašyta kaip, bet manau supratau iš to kas yra čia. Reikės rytoj pamėginti. Ačiū už nuorodą. :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

O šiaip man reikėjo ištraukti ar telefonas palaiko HTML, čia neparašyta kaip, bet manau supratau iš to kas yra čia. Reikės rytoj pamėginti. Ačiū už nuorodą. :D

 

Neteko su wap ir telefonais užsiimt, bet tokiu atveju susikurčiau rankutėmis masyvą wap browserių, kurie palaiko HTML ir tada jau žiūrėčiausi, kas kaip ir kur.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Neteko su wap ir telefonais užsiimt, bet tokiu atveju susikurčiau rankutėmis masyvą wap browserių, kurie palaiko HTML ir tada jau žiūrėčiausi, kas kaip ir kur.

 

 

Ilgai tektų rašyti tą masyvą :) Juk kiek yra telefonų gamintojų, o dar kiek modelių... Netrumpas skriptas gautus. :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ilgai tektų rašyti tą masyvą :) Juk kiek yra telefonų gamintojų, o dar kiek modelių... Netrumpas skriptas gautus. :D

 

Radau tada dar geriau..

 

$_SERVER["HTTP_ACCEPT"] (This variable is used to advise the server what types of content your browser can handle.)

 

http://www.scanmybrowser.com/accept.html :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Darai tipinę "userių-debilų" (tikiuosi tu ne toks) klaidą - nieko nemokėdamas pradedi kažką "kurti" svetimomis rankomis, kai pats nė kintamojo nuo funkcijos neatskiri. Ar nuvažiavęs į Kiniją iškart pradėtum su vietiniais kalbėti? Taip ir programavime - tu tikrai nesi vunderkindas, tau irgi reikia mokintis kaip ir visiems. Tik tada galėsi bandyti kažką daryti. Jei tingi - geriau išvis nepradėk. Tikiuosi esi pakankamai protingas ir suprasi, kad sakau tiesą :D.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Darai tipinę "userių-debilų" (tikiuosi tu ne toks) klaidą - nieko nemokėdamas pradedi kažką "kurti" svetimomis rankomis, kai pats nė kintamojo nuo funkcijos neatskiri. Ar nuvažiavęs į Kiniją iškart pradėtum su vietiniais kalbėti? Taip ir programavime - tu tikrai nesi vunderkindas, tau irgi reikia mokintis kaip ir visiems. Tik tada galėsi bandyti kažką daryti. Jei tingi - geriau išvis nepradėk. Tikiuosi esi pakankamai protingas ir suprasi, kad sakau tiesą :D.

 

 

Moralų prašiau ? Kintamąjį nuo funkcijos skiriu. Jei neturi ką pasakyti į temą, geriau nesakyk nieko!

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tikrink $_SERVER['HTTP_ACCEPT'], ar yra kas panasaus i application/xhtml, o siaip be reikalo cia sakojies, pats rasiai kad $_SERVER yra funkcija nors is tiesu tai tera globalus masyvas :D

 

Nesišakoju aš, tiesiog prašiau pagalbos tam tikru klausimu, o ne pagalbos nuo ko pradėt mokytis ir kas kaip vadinasi... O be to, koks skirtumas kas tai, fja ar kintamasis ar dar kas, svarbu žinau kam ir kaip naudojama. :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nu skirtumas siaip didelis, bet jei tu isiverti jo ir nezinodamas tai tuo tau geriau :)

 

Beje gali pasinaudot ir get_browser ( [string user_agent [, bool return_array]] ) funkcijos pagalba, pirma argumenta gali praleisti irases NULL reiksme, o jei nori kad funkcija grazintu masyva bet ne objekta (kas yra pagal nutylejima) antram argumente irasyk TRUE. Man ji daug patogesne nei $_SERVER masyvas, o jos reiksmes suzinosi paprasciausiai perleides per cikla

foreach(get_browser(NULL, TRUE) as $n=>$v) echo"$n: $v<br>";

:D tiesa taip suzinosi daugiau apie narsykle nei su $_SERVER taciau ne xhtml supporta :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kitas klausimas.

 

Į .txt failą įrašinėju kintamojo reikšmę(taip: reikšmė 1|reikšmė 2|reikšmė 3| ir t.t.), įrašinėjant man reikia patikrinti ar tokia reikšmė jau įrašyta. Jei įrašyta - neįrašinėja, jei neįrašyta - įrašo. Sąlygą padaryti moku, bet kaip patikrint ar tokia reikšmė įrašyta ar ne ? Nemoku dar gerai su ciklais dirbti. O gal net ne ciklas čia naudojamas ?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kitas klausimas.

 

Į .txt failą įrašinėju kintamojo reikšmę(taip: reikšmė 1|reikšmė 2|reikšmė 3| ir t.t.), įrašinėjant man reikia patikrinti ar tokia reikšmė jau įrašyta. Jei įrašyta - neįrašinėja, jei neįrašyta - įrašo. Sąlygą padaryti moku, bet kaip patikrint ar tokia reikšmė įrašyta ar ne ? Nemoku dar gerai su ciklais dirbti. O gal net ne ciklas čia naudojamas ?

Tokiems dalykams ir yra MySql duomenu bazes sukurtos. Su php cia daug knisimosi. Aisku imanoma, bet ne optimalu. Ko gero reiktu surasyti visas failo reiksmes i masyva ir tada su ciklu prasukant visa masyva patikrinti ar nelygus duomenys. Nors galima ir be masyvo issiversti.

Bet as vis tiek balsuoju uz MySql. :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kitas klausimas.

 

Į .txt failą įrašinėju kintamojo reikšmę(taip: reikšmė 1|reikšmė 2|reikšmė 3| ir t.t.), įrašinėjant man reikia patikrinti ar tokia reikšmė jau įrašyta. Jei įrašyta - neįrašinėja, jei neįrašyta - įrašo. Sąlygą padaryti moku, bet kaip patikrint ar tokia reikšmė įrašyta ar ne ? Nemoku dar gerai su ciklais dirbti. O gal net ne ciklas čia naudojamas ?

 

Nuskaitai duomenis is txt failo (kad ir su file_get_contens()), jiems priskiri reiksmes jei tarkim taip: a) jei zinomas reiksmiu skaicius - list($reiskme1, $reiksme2, $reiksme3) = explode("|", $failo_turinys); B) jei nezinomas arba taip tiesiog patogiau tuomet tiesiog viska kisi i masyva - $mas = explode("|", $failo_turinys); Tuomet pagal reiksmes tikrini su kiekvienu arba jei masyvas suki cikla (foreach ($mas as $value) arba for($i=0; $i<count($mas); $i++) arba dar su while), jei sutampa - palieki, o jei skirias pakeiti kintamojo reiksme. Tada viska atgal sustatai i string (kad ir implode("|", $naujas_reiksmiu_masyvas):D ir perasai duomenu faila. Kaip as supratau tu norejai kiekvienai reiksmei skirt po perasyma, o dbr siaip ar taip perasymas bus tik vienas, nesvarbu ar skirias visos reiksmes ar nei viena. Jei nelabai aiskiai parasiau sakyk :)

 

Tokiems dalykams ir yra MySql duomenu bazes sukurtos. Su php cia daug knisimosi. Aisku imanoma, bet ne optimalu. Ko gero reiktu surasyti visas failo reiksmes i masyva ir tada su ciklu prasukant visa masyva patikrinti ar nelygus duomenys. Nors galima ir be masyvo issiversti.

Bet as vis tiek balsuoju uz MySql. :D

 

 

100% pritariu :D Nors ne visada geriausia i mysql kist, kartais daug optimaliau pasinaudot kad ir xml

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jei formatas butu "|reiksme1|reiksme2|", tai butu galima paieska faile padaryti. Reiktu ieskoti "|ieskoma reiksme|". Tikrai yra php'e paieskos funkcijos, bet, kadangi daznai nenaudoju, tai nezinau. Paieskok - atrasi.

Bet atkreipk demesi, kad reikia pakeisti siek tiek formata, nes kitaip neatras pirmo elemento.

 

P.S. Vistiek sito patariu imtis tik tuo atveju, jei turi rimtu argumentu (pvz: neleidzia religiniai isitikinimai :) ) nesinaudoti MySql.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

strstr() iesko stringo stringe, o masyvo elemento reiksmes masyve funkcija in_array(). Taip pat gali naudotis PCRE israiskomis kaip preg_match() ar ereg()

Siuo atveju mums tiktu strstr(). Perkeliam visa failo turini i string'a ir jame ieskom "|reikalinga reiksme|". Jei randam, vadinas yra, jei nerandam (nezinau ka grazins funkcija tokiu atveju, reikia pasiskaityti) - nera. :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

strstr, netaip kaip cpp strcmp (ar kokia ten tikslai :) ) neiesko visiskai tikslaus stringo, tai reiskia kad strstr("reiksme1", "|reiksme1|") ir strstr("reiksme1", "reiksme1|") grazins tapati :D isvis putu patogiausia naudotis pcre israiskom, butu kas panasaus i "/.+reiksme1.+/" tiksliai nepamenu ju :D

 

Ir jei atmintis neapgauna strstr() sekmes atveju grazina ieskoma stringa (pirmaji argumenta) o nesekmes false artai 0. Dar sove i galva kad gali naudot strpos(), jei ras tau nurodys stringo vieta eiluteje, o jei ne tai grazins 0 :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

strstr, netaip kaip cpp strcmp (ar kokia ten tikslai :D ) neiesko visiskai tikslaus stringo, tai reiskia kad strstr("reiksme1", "|reiksme1|") ir strstr("reiksme1", "reiksme1|") grazins tapati :D isvis putu patogiausia naudotis pcre israiskom, butu kas panasaus i "/.+reiksme1.+/" tiksliai nepamenu ju :D

 

Ir jei atmintis neapgauna strstr() sekmes atveju grazina ieskoma stringa (pirmaji argumenta) o nesekmes false artai 0. Dar sove i galva kad gali naudot strpos(), jei ras tau nurodys stringo vieta eiluteje, o jei ne tai grazins 0 :)

Tai gerai, kad grazins ta pati. Mums tik svarbu issiaiskinti yra ten ta reiksme, ar ne. Tinka ir strstr, ir strpos, ir pcre. Taciau visur reikia ieskoti "|ieskoma reiksme|", nes priesingu atveju, jei mes ieskosim 25, o tame sarase bus 1258, tai mums grazins, kad ten 25 yra.

O funkciju, su kuriomis ieskoti pasirinkimas platus. Ir jokiu ciklu nereikia. :D

Redagavo T-Mix
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...