Jump to content
php.lv forumi

Venom

Moderatori
  • Posts

    1,918
  • Joined

  • Last visited

Posts posted by Venom

  1. /me gar zemi

    rmdir(rtrim($topdir));

    tur taukš jābūt papildus parametram - no kā atrbīrvot labo pusi, resp. no / simbola

    whateva, tas, ka tev f-ja atgriež true vai false, nevis izmet erroru, nenozīmē, ka viss arī tika izdzēsts

    NB: iespējams esmu piemirsis par closedir() un nevar nodzēst direktoriju, uz kuru atvērts handls

  2. cits variants - serializē svarīgus datus un pats kešo tos failus, e.g.

     

    provizorisks kods:

    $hash=md5(serialize(array($_GET,$_POST,$_SESSION)));
    $cache_timeout=180;//3 minutes
    $cache_dir='./cache/';
    
    if (!($tmp=@filemtime($cache_dir.$hash)) || (time()-$tmp>$cache_timeout) || !@include($cache_dir.$hash) )
    ob_start();
    else
    exit;
    
    viss tālākais kods, un pašās beigās
    
    $fh=fopen($cache_dir.$hash,'w');
    $html=ob_get_clean();
    fwrite($fh,$html);
    fclose($fh);
    echo $html;

     

    paskaidrojums:

    1) tiek noģenerēts unikāls identifikators ienākošiem datiem, kas definē to, kas tiks atrādīts lapā, šis identifikators tiek izmantots kā kešfaila nosaukums att. direktorijā

    2) pārbauda 3 nosacījumus -  nolasa kešfaila pēdējās maiņas laiku (ja fails neeksistē un laiks netiek atgriezts, uzsāk 3), vai nav notecējis att. sekunžu laiks un kešs nav jāatjauno, vai falu bijis iespējams iekļaut - tātad, ja viss izpildās kā gribētos, tiek iekļauts kešfails un exit.

    3) citādi tiek uzsākta t.s. output kešošana - viss kam, būtu jāizvadās ar echo (htmls etc) tiek uz laiku paturēts operatīvajā atmiņā, no kurienes pēc visa koda beiguma mēs to dabonam ar ob_get_clean() un ierakstām kešfailā

     

    pašrotējošā kēšošana, poņimaješ

    Texas - Say What You Want (All Day Every Day)

  3. iespējams, ja vari palaist ar exec vai tml. rekursīvo delete komandu attiecīgai OS, citādi še tev pseidokodu

    function recdel($topdir)
    {
    $dh=opendir($topdir);
    while (($item=readdir($dh)) !== false)
     switch ($item)
     {
      case '.':
      case '..':
        break;
      default:
       @chmod($topdir.$item,0777);//jic
        if (is_dir($topdir.$item))
          recdel($topdir.$item.'/');
        else
          unlink($topdir.$item);
     }//sw
     rmdir($topdir);
    }
    recdel('/var/www/home/public_html/tmp/'); //attīrāmā un dzēšamā direktorija

  4. sk. date() f-jas dokumentāciju, it īpaši

    t | Number of days in the given month | 28 through 31
    turpat
    w | Numeric representation of the day of the week | 0 (for Sunday) through 6 (for Saturday)

    ā) Noģenerē pirmo mēneša dienu, piem. kā

    $sday=@mktime(0,0,1,date('n'),1,date('Y'));

    no tā uzzin nedēļas dienu (pirm-sv)

    bē) Iezīmē augšā nedēļu dienas

    cē) kamēr nav att. nedēļu diena no bē) liek tukšas rūtiņas, ja ir - ieliek pirmo datumu un tad

    dē) no tā virzās, kamēr nesasniedz date('t') dienu skaitu, pa ceļam uzsākot jaunu rindu pirms pirmdienām

    ē) ja beidzamā diena nav svētdiena, tad iezīmē tukšas rindas līdz tā ir sasniegta

     

    sanāk skaists kaļendārs

  5. iekš tā apacha httpd.conf pievieno/atkomentē

    ā) php kā moduli

    LoadModule php4_module "d:\php\php4apache.dll"

    vai arī

    AddModule mod_php4.c

    bē) piereģistrē php mime-tipu, lai apache zinātu kādus failplašinājumus uzskatīt par php skriptiem
    AddType application/x-httpd-php .phtml

    AddType application/x-httpd-php .php

    AddType application/x-httpd-php .php3

    AddType application/x-httpd-php .php4

    AddType application/x-httpd-php .whateva

    AddType application/x-httpd-php-source .phps

    cē) pasaki apacham, ka start lapa var būt ne tikai index.html

    DirectoryIndex pievieno index.php u.c.

     

    pēc tam nokikstartē apache no comandrindas (dosā uz apache direktoriju un apache -k start). Ja rādīs Apache xxx / PHP xxx, tad php ir piepiņķelēts un tad jau skaties, kā tev tur ar sourciem

  6. ?info=2&img=1

     

    info_table:

    id|title|comment

     

    img_table

    id|parent_id (=id no info table)|filename

     

    select * from info_table where id=$_GET['info']

     

    select filename from img_table where parent_id=$_GET['info'] and img=$_GET['img']

     

    ķipa

  7. mms - microsoft multimedia stream, ar to linuksu dorši vien būs pagrūti

    ir daudzas (bet neviena īpaši prātā neienāk) programmas, kas laiku pa laikam no kameras dabon bildi un ieglabā to kkur uz diska. Ideālā variantā tas viss stāv uz paša servera, citā - bilde tiek ukšōplōdēta uz servera caur ftp/ssh whateva. Un uz lapas stāv vai nu javascripts, vai vai arī pati lapa/freims tiek refrešoti ar <meta refresh

  8. Eksportēt - droši vien uz CSV, tad var dot exceli kā attačmentu.

    Būtībā jau var arī uzlikt kādu WYSIWG, piem. no htmlArea un tad jau varēja no exceļa kopēt pa tiešo 9tikai html būtu vēlams notīrīt pēc tam)

  9. Joprojām nav skaidrs, ko tu gribi panākt. Ja vienkārši izlikt, nu, piem. līzinga kalkulatoru, kurš ir realizēts Xcelī, tad var vienkārši iedot linku ux xls (tāpat - pps, word, pdf) un cerēt uz to, lai klientam būtu att. programma kura atvērs to padarīšanu tieši pārlūkā kur tad lietotājs varēs paspēlēsies un saglabāt dokumentu - pie sevis. Ja gribi, lai klienta izmainīts dokuments saglabājas uz servera, tad kā jau teicu, ir gluži smagi Microsoft risinājumi, vai arī jātaisa "kalkulācijas interfeiss" pašam, e.g. inputā pirkuma summa, iekš php tiek saņemts $_POST lauks, no tā aprēķināts procents un izvadīts kā atbilde.

  10. Tāda lieta tīrā veidā implementēta Microsoft Share Point, un tur arī tikuntā dokuments pa kluso tiek nodownloadēts, atvērts excelī un pēc saglabāšanas nouplōdēts atpakaļ.

     

    Visam pārejam taisa formas.

×
×
  • Create New...