Jump to content
php.lv forumi

Venom

Moderatori
  • Posts

    1,918
  • Joined

  • Last visited

Posts posted by Venom

  1. ja nezin, kā ar mysql, tad padomā no sākuma kā varētu ar kādu exceli

    līdz:

     

    vienā tabulā

    id | jautājums

     

    otrā tabulā

    jaut_id | atbildes variants | atbilžu skaits

    jaut_id | atbildes variants | atbilžu skaits

    jaut_id | atbildes variants | atbilžu skaits

    ...

    jau var aizdomāties.

    kad jāpapildina, tad UPDATE `atb_skaits`=`atb_skaits`+1 WHERE `id`=' atb_var_id '

  2. ja saglabāji failā, tad faila izveidošanas datumu var nolasīt ar filemtime()

    ķipa raksts izveidots date('d m H:i',filemtime($raksts));

     

    ja glabā iekš db (MySQL), tad uztaisi papildus lauku, vai nu piem. TIMESTAMP tipa un tajā dzen iekšā NOW() funkcijas vērtību, vai CHAR(11) lauku, kurā glabā iekšā php funkcijas mktime() [gmmktime()] atgriesto vērtību.

  3. while(@fileexists($file.'.lock'))

    sleep(1);

    $fp=fopen($file.'.lock','w');

    $fp=fopen($file,'w');

    fwrite($fp,$info);

    fclose($fp);

    unlink($file.'.lock');

     

    file() un file_get_contents() tikai nolasa info un netraucē rakstīšanai => vienkārši ja failā tieši tajā brīdī raksta, neko neatgriež

     

    tas, ka uz failu atvērts fopen(), nenozīmē, ka viņš ir aizņemts citiem procesiem

    $fp=fopen($file,'r');

    $fpp=fopen($file,'r');

    echo fread($fp,1024);

    fseek($fpp,1024);

    echo fread($fpp,1024);

    fclose($fp);

    fclose($fpp);

     

    parastā gadījumā neradīs problēmu

     

    iedomājies fopen operāciju kā *.txt atvēršanu ar notepadu - atvērt vairākus failus vienlaicīgi tu vari, saglabāt ar mazu laika atstarpi - arī, bet saglabāsies tās izmaiņas, "kurā notepadā" tu nospiedīsi save pēdejo reiz.

  4. Esmu spēlējies, bet saitu, kas pilnībā uz XML+XSL neesmu redzējis.

    Paskatījos ko dari savā anime - nu vispār tā arī turēt. Ja gribās uzzināt, ko var darīt ar XSLT, var paskatīties att. manuāļus (būtībā sava rpgrammēšanas valoda).

  5. pēc laika prioritātes

     

    rediģēts nozīmē kamēr ir atvērts fopen() un nav uztaisīts fclose()

     

    ja viens ieglabā un pēc tam ieglabā otrs, saglabājas otrā versija

    ja viens ieglabā kamēr ieglabā otrs, atkarīgs no sistēmas - vai nu gaida kamēr saglabājās viens un tad raksta pa virsu otro utml

     

    vari veidot savu sistēmu

    vari lietot flock()

    ja faili tiek pārrakstīti, flock nestrādā (jo būtībā faila neeksistē) un var taisīt pašam savu sys, piem:

     

    pirms sāk rediģēt $file uztaisa $file.'.lock';

    rediģē

    saglabā

    izdzēš $file.'.lock'

     

    otrs pirms sākt rediģēt pārbauda, ja eksistē $file.'.lock', tad vai nu atgriež, ka šobrīd fails ir aizņemts, vai nu rekursīvi izsauc raskstīšanas procedūru kādu laiku nosnaudoties [sleep()] u.t.t.

  6. echo - include - if

    visi nosauktie nav komandas, bet language constructs/funkcijas

    svarīgākais php ir <?php ?> ;) tur viss sākas.

  7. /me kādu laiku paspēlējās ar RedHat, nekas labs nesanāca. pēc tam nāca Mandrake un it kā labi, kamēr nesavajdzējas HDD vietu ;) pagaidām laika tajā visā rakņāties _nav_, tāpēc esmu linux lameris un lietoju Knoppix - Linux pašpalaižamo CD versiju.

  8. RSS domāts lai atvieglotu noslodzi uz serveru - t.i. tā veidotāja nevajadzētu katru reizi slēgties klāt datu bāzei.

    Doma ir šāda: pie jauna raksta pievienošanas tu izpildi to sql vai ko un rezultātus ieraksti failā - viss kas tev iet uz echo jāiet iekš fwrite! Tad RSS readeri vilks failu pa tieši un papildus netraucēs mysqlam.

  9. nē, mmc ir lieta specifiska.

    Ja faili netiek veidoti, tad tev droši vien ir PC Camera - lai, piem. reālā laikā sarunāties/saskatīties caur netu, vai vienkārši ieglabāt to, ko redz apkārt datoram (vadiņš droši vien nav tik garš?) iekš datora pa tiešo. Bet tomēr izeja ir - ir daudzi softi kas taisa snapshotus no "reāla laika" pārraides, vai ieraksta to bezjēgu failā. Te tik jāzin, kas tev par OS un tad aidā gūglēt. Manam TRUST powerc@m foķikam arī ir tikai foto vai pc camera režīms, bet ar dažnedažādām progām var nokonfigurēt no PC Camera raut ārā bildes iekš *.jpg uz datora. Kaut vai ar "universālo" VirtualDub - File>Capture un tad tur jāskatās Video>Snapshot un File>Job... uzstādījumi.

    Viss ir iespējams.

  10. pārskatīju pēdējo lapu un varbūt ne pa tēmu

     

    Pirms sūtīt failu klientam (browserim, kaut kādiem ReGetiem utt.) serveris parasti nosūta headeri (ja gribāt, galveni), kur ir aprakstīts, kas tas būs par failu (MIME/Content-Type), nosaukumu, izmērus, kodējumu. Kā tas notiek: browseris saņem, piem. content-type: audio/mpeg. Aiziet paskatīties reģistrā - tur stāv audio/mpeg > shell > open > pie. WinAmp vai WMPlayer un tad vērs arī vaļā ar norādīto progu. Ja sūta tādu headeri, kur content-type datoram nav zināms, tad to primāri piedāvās nolejuplādēt neatverot. Tāpēc, ja gribi, lai uzejot uz linku tev tomēr piedāvā TXT failu saglabāt, nevis atvēr to uzreiz, tad pirms sūtīt to failu ir jāizvada neatpazīstams content-type. Klasiski tas ir application/unknown:

     

    <?php

    $content=@file('fails.txt')

    header('Content-type: application/unknown');

    echo join('',$content);

    flush();

    exit;

    ?>

     

    lasām HTTP specifikāciju.

  11. neesmu nodarbojies, bet varētu būt ka:

    objektu jāuztaisa pirms to saglabāt masīvā, resp. nelietot $array[]=new Kautkas; bet $tmp=new Kautkas; $array[]=$tmp;

     

    visādam gadījumam:

    class Alphabet {

    var $letters=array();

    ...

     

    foreach($arr as (object) $letter) vai izmantot new stdClass

     

    skatīties ar preferably var_dump() vai print_r() kas tef tiek atgrie_z?s_ts

     

    var paskatīties dažādas get_object_vars() utml.

  12. Nu jautājums, kādā režīmā tu kameru izmanto: Web vai PC kamera.

     

    Ja tā ir Web režīmā un tev ir att. softs, tad tam softam jāmāk reizi pa reizei uztaisīt snapshotu un to saglabāt kaut kur uz datora (resp. - ielikt servera direktorijā) vai uz serveri iekačāt ar ftp. Ar video, tāpat kā ar radio ir mazliet sarežģītāk - bet būtībā tas pats - rakstās fails kādā streaming formātā. Tas vai nu rakstās uz priekšu - kamēr nebeidzās diska vieta vai noteiktais limits, pēc tam nonullējas un sāk no jauna. Vai nu fails tiek rakstīts "pa riņķi" - kādas 3-15 sek. beigās un to pašu laiku nost. Atkarīgs no protokola un formāta.

     

    Ja tu izmanto PC camera režīmu, tad tas maz atšķiras no real-time capturing, kas tiek izmantots kaut kādos NetMeetingos un citos Windows Messengeros - resp. nekur netiek saglabāts, bet sūtīts klientam. Te atkal jautājums - kāds tas ir formāts/protokols. Ar Windows media varētu būt tā, ka var pieslēgties pie tā servera, kuram fiziski klāt ir pielikta kamera caur kaut kādu mmc://, nevis http:// un tad pa tiešo ies streams no capture devaisa.

     

    utt. utjp.

    iraid

  13. Nu, teiksim tā. Ja es lieku tavu saitu/cms/whatever uz sava servera, kur error_reporting(E_ALL);, tas 80% nestrādās.

    Būtībā tas ir solis pretī citām valodām, kur tiek strikti definēts variābļu tips un ... apgabals (? scope).

    Notice bieži palīdz sameklēt tādus gadījumus, kad piem. iekš array-a bāž iekšā stringu vai ko citu un pēc tam mēģina to tā dabūt kaut ko ārā utml.

     

    Lieļāka drošība un pārliecība, ka ies visur. Un vispār taisnas rokas.

×
×
  • Create New...