Jump to content
php.lv forumi

Venom

Moderatori
  • Posts

    1,918
  • Joined

  • Last visited

Posts posted by Venom

  1. Nepiekrišana ir tīri "koda atstāšanai", nevis testam kā tādam + notepads ir respektējama lieta, bet tomēr... Es tur nemācētu strpos no strstr un strrchr vair atšķirt, jo pieradis, ka hints iraid. Un arī strādājot "darba vietā", ja vien nav izdalīts/atnests personīgais laptops produktivitāte kritās drastiski. Godīgi teikšu, ka šobrīd 3 mēnesi virinu projektu, kuru strādājot "mājas režīmā" varētu pabeigt 1-3 nedēļās.

    Bet tas vispār par situāciju tirgū.

  2. var, ar java script:

    document.onscroll vai document.body.onscroll izsauc f-ju, kas "atcerās" cik tālu noscrollēts - iekš IE document.body.parentNode.scrollTop vai document.body.scrollTop, iekš NN kaut kas uz window.pageYOffset/window.scrollY pusi un window||body.onbeforeunload padod top koordināti kā hash (location.href+='#'+fromTop), vai ieraksta cookie. body beigās liek JavaScript, kas if (location.hash) { fromTop=parseInt(substr(-(location.hash.length-1))) //atmet #

    window.scrollTo(0,fromTop);//noscrollē fromTop pikseļus uz leju } vai izdara ko līdzīgu no cookija. Ja ir otrs freims, tad mainīgos var "ieglabāt otrā freima dokumentā" un nemocīties ar hash, bet gan vajadzigā window||body.onload vai tml. eventā ielasīt no tā vajadzīgo scroll vērtību.

     

    kaut ko tādu kādreiz taisīju savā čatā (tur bij ar freimiem), manuprāt arī phpMyChat kaut kas tāds bija

  3. Vismaz diskešiekārta iraid? piem. mysql klases izmantošanai? man arī iraid gatavā klase daudzlīmeņu izvēlnes taisīšanai. vismaz izmantojot tos, vienā studnā kaut ko pasākt varētu.

     

    BET: sourcus "darba devējam" es nekādā ziņā pēc intervijas neatstātu. Baigi izklausās pēc ideju(koda) laupīšanas vai sistēmas izveidi "par velti" (ķipa vairāki pretendenti uzraxta savu kodu, visus atraida un paši sastāda no gabaliem gatavu sistēmu). Vismaz par to iraid atrunāts, koa?

  4. Paņem kādu "grafisko" klientu - ftp/winscp uploaderu, tur ar labopogu uz faila var ieķeksēt Owner/Group/Others attiecīgi tiesības uz Read, Write un eXecute. 4-ais (precīzāk, okteta piemais cipars - nxxx) tiek izmantots User ID/Group ID/Sticky Bit piešķiršanai, resp. tiesību pārchownēšanai attiecīgam lietotāju slānim.

     

    Execute ir "1", write ir "2", Read ir "4".

    2-ais okteta cipars - xnxx - pieder owner

    3-ais - xxnx - group

    4-ais - others

     

    gribam uzlikt "owner" tiesības tikai lasīt:

    0400

    +rakstīt = 4+2

    0600

    +izpildīt=4+2+1

    0700

    tikai lasīt un izpildīt = 4+1

    0500

    utml.

     

    visas tisības "visiem" attiecīgi būs 0777, bet parasti liek, piem. 0755 - owner var visu, pārējie nevar rakstīt; 0644 - owner var lasīt un rakstīt, pārējie tikai lasīt (include faili, opciju faili, lai kāds neatnāktu un neizbojātu), 0755 - ja piem. tavam "serverim" un "ftp klientam" ir dažādi lietotājvārdi, kas pieder vienai grupai, ļauj "grupas biedriem" kopīgi mainīt vienus un tos pašus failus. Visādiem *.php droši vien jāliek eXecute parametrs.

    Ar šo varētu pietikt.

  5. chmod - nomainīt failu permīcijas

    chown - nomainīt faila lietotāju/grupu

     

    droši vien, rakstot ar ftp, lietotājs ir "tavs", bet rakstot ar php - "apache", "www" vai "nobody"

     

    /me rakstot ar php liek chmod xx7x, kas nozīmē Owner (serveris) + Group (es caur ftp) rakstīšanas tiesības vai xx5x - tikai serverim.

  6. source jau augšā ir - aviņutakšvēljāatceras.

     

    piedāvāju rakstīt iekš skaits.txt (vai atsevišķā faila) to, kāds bija pēdejais numurs rakstam.

    Cik saprotu, rakstu failu numuri tev arvien aug - e.g. 1,2,3,4,5...

    nu tad skaits.txt ierkastām, piem. 20 un jaunajā rindā 35, kas ir pēdējais raksts

     

    $how=@file('skaits.txt');

    if (!$how) $how=array('20','20');//default - pēdējie 20 no 20tā uz leju.

    $howmany=trim($how[0]);//cik ziņu

    $fromwhich=trim($how[1]);//no kura sākt uz leju

     

    while($howmany--) //sākam ciklu

    {

    $info=@implode('',@file($howmany.'.raksts.txt')); //20.raksts.txt, 19.raksts.txt ...

    if (!$info)

    continue; //ja faila nav (nodzēsts), ejam tālāk

    //šeit sašķeļam $info uz virsraksts/raksts un izvadām

    }

     

    easy as that

  7. tad iesaku pierakstīt jaunākas rindas faila sākumā ar

    fopen('...','r+')

    un ielasīt ar

    $tmp=10;

    while($tmp--)

    {

    ... fgets($fp,1024);

    }

     

    vai nua arī ielasīt visu ar @file() (ja zināms, ka līniju skaits failā būs relatīvi mazs un netiks pārterēta oper. atmiņa) un izmantot array_slice() vai nu vienkārši uzzināt rindu skaitu ar count() un ar parastu ciklu izstaigāt masīva elementus ($array[$current], kur $current mainās no $count-10 līdz $count )

  8. src="img/line_solid.bmp" ? un rādās arī?

     

    ko nozīmē vienaa lapaa paraadiitos 10 ieraksti, bez nekaadas lapu daliishanas.?

     

    ja respektīvi, 10 pēdējie ieraksti vispār, tad var pie postu ieglabāšanas updeitot kādu failu/massīvu, kurā būs tieši 10 atsauces uz rakstiem, un tie rotēsies, piem. katrā līnijā var ierakstīt raksta identifikatoru, e.g.

     

    if (isset($_POST['article']))

    {

    $top10=@file('pedejie.10');

    if (!in_array($article_id."\n",$top10))

    {

    $top10[]=$article_id."\n";//pievienojam vēl vienu elementu masīva beigās

    if (count($top10)>10)

    array_shift($top10);//atmetam pirmo līniju

    $fp=fopen('pedejie.10'','w');

    fwrite($fp,implode('',$top10));

    fclose($fp);

    }

    }

  9. NB: ja rakstam būs vairākas līnijas, tad izmanto

    $var1=$lines[0];//virsraksts

    unset($lines[0]);//izmetam no masīva

    $var2=implode('',$lines); //saliekam stringus atpakaļ

     

    vai arī:

     

    $firstlb=strpos($text,"\n");//atrodam pirmo līnijas zīmi

     

    $virsraksts=substr($text,0,$firstlb); //viss kas pirms zīmes

    $raksts=substr($text,$firstlb); //viss kas pēc

  10. $lines=explode("\n",$text);

    tagad katra līnija ir masīva $lines elements (1mā līnija ir 0-elements).

    att. uz $1, $2 - mainīgajiem - pārseris nebļauj ka mainīgais ar ciparu sākas, ā?

     

    $var1=$lines[0];//virsraksts

    $var2=$lines[1];//raksts

     

    var pielietot trim() funkciju $lines elementiem, lai noņemtu atstarpes beigās.

     

    e.g. $var1=trim($lines[0]);//virsraksts

  11. Specifiskāks, bet, domājams, ātrāks piemērs:

     

    $text=@implode('',@file('http://www.bank.lv/vk/xml.xml'));
    if (!$text)
    die('Banka nav publicējusi šodienas kursus');
    $text=str_replace('<Currency>','#',$text);
    $text=strip_tags($text);
    $text=explode('#',$text);
    $els=count($text);
    unset($text[0]);
    $currencies=array();
    while(--$els)
    {
    $lines=explode("\n",trim($text[$els]));
    $currencies[trim($lines[0])]=array(trim($lines[1]),trim($lines[2]));
    }
    echo 'Amerikas dolāru kurss ir '.$currencies['USD'][1].' Ls par '.$currencies['USD'][0].' valūtas vienību.';
    print '<pre>'.print_r($currencies,1).'</pre>';

×
×
  • Create New...