Iki mokslo metų pradžios dar liko šiek tiek laisvo laiko, tai nutariau parašyti tokį straipsnelį. Gal kam bus naudingas.
Kažkada pačiam niekaip nedavė ramybės klausimas, kaip įmanoma tinklalapyje sukurti sistemą, kad rašytų kokie šiandien vardadieniai, orai, tv programa ir t.t., ir kad automatiškai tai keistųsi, kad nereikėtų pačiam administratoriui keisti. Tokiai sistemai sukurti didelių žinių nereikia, bet vis tiek reikia bent PHP pagrindų išmanymo, tačiau pasistengsiu parašyt paprastai ir aiškiai, kad jei prireiks, tai galėtų pabandyt susikurti ir PHP nemokantys žmonės.
Šį uždavinį galima atlikt ne vienu būdu. Galima naudoti soketus, curl, bet aš parodysiu paprasčiausią variantą, su file() funkcija.
Tarkim darome sistemą, kuri turėtų parodyti šiandienos vardadienius. Pirmiausia turime internete susirasti kitą tinklalapį, kuriame tokia sistema jau yra. Pvz.: http://www.sveikinimai-sveikinimai.lt/vardadieniai/
Darbas:
Pirmiausia reikia mums prisijungti prie tinklalapio, iš kurio imsime informaciją, šiuo atveju vardadienius. Kad būtų aiškiau, pradžiai galima pasirašyti tokį skriptuką:
<?php
$nuskaityti_i_masyva = file('http://www.sveikinimai-sveikinimai.lt/vardadieniai/');
for($i=0;$i<=count($nuskaityti_i_masyva);$i++)
{
$src .= $nuskaityti_i_masyva[$i];
}
echo $src;
?> Dabar paleidę šitą kodą pamatysit savo adresą, tačiau http://www.sveikinimai-sveikinimai.lt/vardadieniai/ puslapio išvaizdą. Su file() funkcija prisijungiame prie jau minėto tinklalapio, nuskaitome HTML kodą ir sudedame į masyvą. Toliau seka ciklas. Ciklo tikslas - masyvą su tinklalapio HTML kodu paversti paprastu kintamuoju. Visas tinklalapio HTML kodas yra priskiriamas kintamajam $src. Tam, kad patikrinti ar viską atlikome teisingai, parašome echo $src;
Dabar, kad būtų lengvesnis tolimesnis darbas, eilutę echo $src; ištrinam ir vietoj jos parašom: echo htmlspecialchars($src);
Funkcija htmlspecialchars() išjungia HTML tagus. Tarkime jei parašysime echo '<b>Labas</b>'; tai mums grąžins: Labas, bet jei parašysime echo htmlspecialchars('<b>Labas</b>'); tai mums ir grąžins: <b>Labas</b>.
Taigi, parašę echo htmlspecialchars($src); pamatome visą puslapio HTML kodą. Pamatome todėl, kad atlikus pirmuosius veiksmus, mums buvo grąžintas to puslapio HTML kodas su visais HTML tagais ir mes matėme puslapio išvaizdą, o dabar, kai pasinaudojom funkcija htmlspecialchars(); tai išjungėme visus HTML tagus, ir matome jau nebe puslapio išvaizdą, bet jo HTML kodą.
Pirmas darbo etapas įveiktas. Dabar laikas kitam etapui - teksto karpymui.
Turime prieš akis mums reikalingo puslapio HTML kodą. Kad nereiktų ilgai knaisiotis prie kodą, galime tiesiog pasinaudoti ctrl+f. Prieš tai užmetam akį kieno šiandien vardadieniai (šiuo metu, kai rašau straipsnį, vardadienius švenčia: Steigvilė, Augustinas, Patricija). Taigi, spaudžiu ctrl+f ir suvedu tekstą Steigvilė, Augustinas, Patricija (žinoma kas skaitys šį straipsnį kitomis dienomis, tai turės vesti nebe šituos vardus) ir spaudžiu Enter. Mane iškarto "numetė" prie tos HTML kodo vietos, kurioje yra vardai. Aplinkui matome labai daug visokio mums nereikalingo teksto, o mums reikia tik vardų, vadinasi turėsime išsikirpti vardus.
Šiai užduočiai galime naudoti daugybę funkcijų, daugybę būdų, bet asmeniškai tam naudoju explode(), strpos(), substr() ir kartais str_replace() funkcijas.
Paprasčiausiai yra viską atlikti su explode() funkcija (su ja šiuo atveju ir atliksim darbą), bet trumpai apžvelgsiu visas paminėtas funkcijas (gal kam prireiks).
Funkcijos:
strpos() - nustato kokio nors ženklo poziciją tekste. Reikalauja 2 argumentų: 1. Tekstas, kuriame ieškosim mums reikalingo simbolio vietos. 2. Simboli-s/ai, kurių ieškosim tekste. Pavyzdys:
<?php
$pozicija = strpos('a475c45j', 'c');
echo $pozicija;
?> Gausim atsakymą: 4, nes ieškom raidės "c" tekste "a475c45j" (P.S. Šitoj funkcijoj pirma pozicija yra prieš pirmą raidę, šiuo atveju prieš raidę "a").
substr() - funkcija skirta iškirpti kokią nors vietą iš teksto. Reikalauja 3 argumentų: 1. Tekstas, iš kurio kirpsim. 2. Ženklas (skaičiumi), nuo kur pradėsim kirpti (jei užmeskit akį į strpos() jau manau turėtumėte pastebėt ryšį). 3. Kiek kirpsim (skaičiumi). Pavyzdys:
<?php
$kerpam = substr('labas kaip sekasi?', 6, 4);
echo $kerpam;
?> Atsakymą gavom "kaip". Skaičius 6 nurodė, kad pradėsim kirpti nuo 6 ženklo, o skaičius 4 parodė, kad kirpsim per 4 ženklus (tarpas taip pat skaičiuojasi kaip ženklas).
explode() - funkcija skirta tekstą skaidyti į masyvą pagal kažkokį ženklą. Reikalauja 3 argumentų, tačiau mums svarbūs tik pirmi 2 argumentai: 1. Ženklas, pagal kurį skaidysim tekstą. 2. Tekstas, kurį skaidysim. Pavyzdys:
<?php
$tekstas = 'labas z kaip z sekasi';
$skaidom = explode('z', $tekstas);
echo $skaidom[0];
?> Atsakymą gavome "labas". Todėl, kad nurodėme, kad tekstą skaidysime pagal raidę "z". Kadangi raidė "z" paminėta 2 kartus, vadinasi tekstą perskėlėme į 3 dalis: "labas", "kaip" ir "sekasi". echo $skaidom[0]; - laužtiniuose skliaustuose nurodome kokią dalį norime pamatyti (masyve pradedama skaičiuoti nuo 0). Jei parašysime echo $skaidom[1]; - atsakymą gausime "kaip". Jei parašysime echo $skaidom[2]; - atsakymą gausime "sekasi".
str_replace() - funkcija skirta vienus žodžius arba ženklus pakeisti kitais žodžiais arba ženklais (dažnai naudojama kuriant įvairias bendravimo sistemas, kad cenzūruoti keiksmažodžius). Reikalauja 3 argumentų: 1. Žodžiai, kuriuos norime pakeisti. 2. Kokiais žodžiais pakeisime tuos neįtikusius žodžius. 3. Tekstas, kuriame bus tie žodžiai. Pavyzdys:
<?php
$tekstas = 'labas kajp tau sekasi?';
$pakeista = str_replace('kajp', 'kaip', $tekstas);
echo $pakeista;
?> Atsakymą gausime "labas kaip tau sekasi?", nes žodį "kajp" pakeitėme žodžiu "kaip". Tikiuosi, kad jau įžvalgesni (nemokantys PHP) suprato, kad argumentai funkcijoje skiriami kableliais. ;)
Kodo pradžią jau aiškinau viršuje. Dabar žiūrime toliau. Eilutė: $skeliam_pradzia = explode('"virsus_vardadieniai_tekstas">', $src); - šita eilutė reiškia, kad perskeliam visą tekstą ties žodžiais "virsus_vardadieniai_tekstas"> Jei po šitos eilutės parašysime echo htmlspecialchars($skeliam_pradzia[0])."<br/><br/>"; tai pamatysime visą pirmą teksto dalį, kurią atskėlėme. Iki pat vardų. Tačiau mums pirmos dalies nereikia, mums reikia dalies su vardais, vadinasi $skeliam_pradzia[0] mums netinka. Bandom $skeliam_pradzia[1]. Parašę echo htmlspecialchars($skeliam_pradzia[1])."<br/><br/>"; jau pamatysime vardus, tačiau vis dar gale vardų liks šiek tiek mums nereikalingo HTML kodo. Vadinasi $skeliam_pradzia[1] mums tinkamas, bet dabar dar reikia nuimt tą pabaigą su HTML simboliais ir keliais žodžiais. Žinoma galime pasinaudoti funkcija str_replace(), bet galim dar kartą panaudoti funkciją explode(). $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); - šita eilutė nurodo, kad skeliam likusį tekstą per simbolį </span>. Jei po eilute $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); parašytumėm echo htmlspecialchars($skeliam_pabaiga[1])."<br/><br/>"; tai gautumėm tuos likusius HTML simbolius ir kelis žodžius, kitaip tariant pabaigą, nes parašėm $skeliam_pabaiga[1], bet mums nereikia tos pabaigos, vardai buvo pradžioje, vadinasi mums tinkamas yra $skeliam_pabaiga[0] Pabaigoje paparasčiausiai parašome echo '<b>Dienos vardadieniai: </b>'.$skeliam_pabaiga[0]; ir išvedame šiandienos vardadienius į ekraną. Viskas. ;)
Veikiantį skriptą galite pamatyti čia: http://mobilus24.lt/vardadieniai.php
Pradžioj buvo mintis padaryti ir pavyzdinius orų bei tv programos kodus, bet vėliau patingėjau. :) Vis dėlto, jei kam reikės, prašykit temoj ir turėdamas laiko parašysiu kodą.
Pristatau programėlę, kurios pagalba galima stebėti ką tik atsilaisvinusius, patekusius į karantiną domenus. Duomenys atsinaujina realiu laiku, todėl joje kas dien pamatysite vis naujų domenų, patekusių į karantiną!
Nuo šiol nebereikia domainlistų, nes viską rasite joje! :)
programa prisegta temoje
naujausia versija visada yra cia: http://xc.lt/dl.rar
Kaip perdaug nesidomėjęs pakeitimais Lietuvos įstatymuose paskutiniu metu, ar tikrai Lietuvoje torrent'ų tinklalapiai pasidarė nelegalūs? Kiek teko domėtis, Europos Sąjungos įstatymų jie nepažeidžia:
1. ES įstatymai paslaugų teikėjams draudžia inicijuoti kopijavimo teisėmis apsaugotų darbų siuntimą. Jei paslaugų teikėjas jo neinicijavo, o inicijavo vartotojas, paslaugų teikėjas neatsako už jo kanalais perduodamą informaciją. 2. Torrent'as yra nuoroda į failus vartotojo sistemoje. 3. ES įstatymai nedraudžia talpinti nuorodų. 4. Torrent'ų tinklalapis yra paslaugos teikėjas, leidžiantis talpinti nurodas. Teikėjas neinicijuoja failo siuntimo.
Įdomu kaip pasibaigs dabar vykstantis The Pirate Bay teismas. Kol kas TPB gynyba teisme gan gerai laikosi. Tik, aišku, sunkiai pakovosi prieš milijardinės rinkos atstovus - jie įtakoja įstatymus.
Palaikau laisvos failų dalybos ne pelno tikslais idėją. Torrent'ai yra viena iš tų technologijų, kurių atsiradimas paskatina technologijų ir visuomenės raidą.
Laikas korporacijoms prisitaikyti prie to. Su tema susijęs paveiksliukas: :D http://static.thepiratebay.org/doodles/cartoonish.gif
Niu, OK, bus pas tave 200 lankytoju! Kas is to, jei tavo auditorija - kaip one.lt?.... Is ko uzdirbsi?... Bandyk, aisku, ateiciai pravers, kuriant rimtus dalykus.
darzas.lt tai gal ... nes atsiranda idiotu, kuriems ir baldas.lt yra OHOHO koks domenas.. :) o antras - tai s.. ant pagaliuko.. dar uzregink dirzas.lt pilnam komplektui :)
Is kur zinai ar gerai gyvena ar blogai, a?..... Imetus pinigus gerai gyvens ir city25-12=13.lt vargu nt24.lt geriau uz nekilnojamojoturtoportalas.lt, nes pastarajam bent 2 raktiniai zodziai yra pavadinime.
Pasidalinti idėjomis ir mintimis, kaip galėtų būti sprendžiamos vienokios ar kitokios problemos versle bei kokie sprendimai galėtų būti priimami, kad būtų gautas optimalus rezultatas.
Įmonėms pateikiamos įvairios verslo situacijos, į kurias šios pateikia optimalų ir originalų problemos sprendimo būdą.
Projekte dalyvauja aštuonios įmonės, kurios burtų keliu suskirstomos po dvi ir varžosi dėl patekimo į pusfinalį (patenka keturi dalyviai), o šiame etape - dėl patekimo į finalą (du dalyviai). Finale paaiškėja įmonė – nugalėtoja.
Trečios savaitės situacija. Kaip išspręsti netinkamo darbuotojo ir jo skleidžiamo šmeižto įmonei problemą? Situaciją vertina „Katos grupė“ ir „Elsis verslo sprendimai“