Archive for the ‘Subiecte Ultima’ category

PHP nivel de eroare prea adânc cuibar recursive Dependenţa

12-3, 2010

Am instalat PHP 5.2 la unul din computerele de testare mea de astăzi şi o pereche de biţi de cod care a lucrat anterior amendă în versiunea 5.1.6 aruncat erori fatale în noua versiune. Mesajul de eroare a fost "la nivel de cuibar prea adânc - recursive dependenţă?"Şi a luat un pic de timp

pentru a urmări în jos radacina problemei. Iată ce am făcut greşit.

În PHP există doi operatori de comparaţie, == Şi ===. Este în general cunoscut faptul că primul nu este strict despre tipul, dar a doua este. Astfel, for example

ecou ( == false 0 ); // adevărat

ecou ( === false 0 ); // fals

- 0 este un întreg şi false este un boolean

Problema mea a rezultat din utilizarea dactilografiere non-strictă cu obiecte.

$a = new MyObj();
$b = new MyObj();
dacă( $a == $b )

Nu m-am considerat ceea ce am făcut cu acest cod. Atunci când se compară două obiecte folosind operatorul comparaţie non-strictă (==) PHP compară toate proprietăţile de obiecte şi în cazul în care se potrivesc cu obiecte sunt considerate a fi egale. În cazul în care nu se potrivesc acestea nu sunt egale. În vigoare, avem o comparaţie recursivă de toate proprietăţile fiecărui obiect, şi toate proprietăţile lor, etc. până când vom ajunge la tipuri de bază de date ca siruri de caractere şi numere întregi.

If, totuşi, vom folosi comparaţie strictă (===), PHP va verifica dacă cele două obiecte sunt exact acelaşi obiect, nu doar obiecte cu aceleaşi proprietăţi.

clasa MyObj
{
publice $ p;
}

$a = new MyObj();
$b = new MyObj();
$c = new MyObj();
$a->p = 1;
$b->p = 1;
$c->p = 2;
ecou ( $a == $c ); // fals
ecou ( $a == $b ); // adevărat
ecou ( $a === $b ); // fals

Problema apare dacă aveţi referinţe circulare în obiectele proprietăţi. Astfel, for example

clasa MyObj
{
publice $ p;
}
clasa OtherObj
{
publice $ q;
}

$a = new MyObj();
$b = new OtherObj();
$a->p = $ b;
$b->q = $ a; // circulară de referinţă: $a->p->=== Q $ a

$c = new MyObj();
$d = new OtherObj();
$c->w = $ d;
$d->q = $ c;// o altă circulară de referinţă: $c->p->q $ c ===

ecou ( $a == $c ); // Eroare fatală:
Nesting level too deep – recursiv dependenţă?

În scopul de a compara la $ $ a c, PHP trebuie să compare proprietăţile lor. Deci, logica în PHP merge ceva de genul asta: $a == $c if $a->p == $c->p if $a->p->q == $c->p->q if $a->p->q->p == $c->p->q->p, etc. pe termen nelimitat.

PHP 5.1 părea să netede peste problema oarecum (probabil după un anumit nivel de recursivitate este pur şi simplu a revenit fals) – şi, de obicei estePHPaborat fin. PHP 5.2 produce în mod corect eroare fatală de mai sus.

Odată ce cunosc problema, Soluţia este uşor – utilizarea comparaţie strictă.

ecou ( $a === $c ); // fals (şi nici o eroare)

Comparaţia stricte va verifica doar dacă cele două obiecte sunt la aceeaşi locaţie în memorie şi aşa nu arata chiar la valorile proprietăţilor.

NB. Aceeaşi problemă poate apărea atunci când se utilizează operatorii negat comparaţie (utilizare !== În loc de !=) şi atunci când se utilizează in_array (parametru in_array utilizare a treia pentru a indica comparaţie strictă).

Ponderea şi Bucuraţi-vă de

  • wp socializer sprite mask 16px PHP Error Nesting Level Too Deep Recursive Dependency
  • wp socializer sprite mask 16px PHP Error Nesting Level Too Deep Recursive Dependency
  • wp socializer sprite mask 16px PHP Error Nesting Level Too Deep Recursive Dependency
  • wp socializer sprite mask 16px PHP Error Nesting Level Too Deep Recursive Dependency
  • wp socializer sprite mask 16px PHP Error Nesting Level Too Deep Recursive Dependency
  • wp socializer sprite mask 16px PHP Error Nesting Level Too Deep Recursive Dependency
  • wp socializer sprite mask 16px PHP Error Nesting Level Too Deep Recursive Dependency
  • wp socializer sprite mask 16px PHP Error Nesting Level Too Deep Recursive Dependency
  • wp socializer sprite mask 16px PHP Error Nesting Level Too Deep Recursive Dependency

Cum să primiţi şi analiza e-mailuri folosind POP3 şi PHP

03.un, 2010

Aş dori să descriu unele metode despre cum sa scrii procesor pentru corespondenţa de intrare. Am avut de a folosi astfel de manipulare analiza de e-mail-uri primite de la diverse surse. Acest lucru poate fi util pentru scrierea propriul sistem de filtrare spam, sistemul robotului telefonic sau bilet să primească cererile prin e-mail.

Pentru a implementa algoritmul de parser-ul de e-mail, avem nevoie

  1. conectaţi şi log-on la server e-mail
  2. conta numărul de scrisori primite
  3. primi e-mail de la server folosind protocolul POP3
  4. Procesul de antetele de e-mail si corpul şi să facă analiză
  5. … pune în aplicare orice acţiuni suplimentare

Bine, există o sarcină foarte specifice pentru PHP coding, asa ca am nevoie de hosting care suporta conexiuni externe. Nu ne propunem să scrie în întregime deoarece decizia de mult a fost realizat de programatori talentaţi deja. De exemplu, poti lua un modul gata, care va permite accepta e-mailuri de la un server de la distanţă.

Multumesc lui Manuel la Lemos şi modul său (php clasa) care a numit pop3.php.

Pentru a conecta această clasă în codul dvs., trebuie doar să includă sau să solicite utilizarea comandă: necesita(“pop3.php”);


hostname=$hostname;
$result=$pop3_connection->Open();

// We are trying to open connection and display the result
echo $result;
// Trying to logon and display the error if any appear
$error=$pop3_connection->Login($utilizator,$accesscode,$apop);
dacă ($eroare<>"Parola de eroare: Logon eşec: numele de utilizator necunoscut sau parolă rău. ") {echo $error; ieşire;}
// Now get the statistic how many emails are stored and the size of them $result=$pop3_connection->Statistics($messages, $size);
ecou "$hostname contains  $messages de $size bytes.";

//..... Nu putem primi e-mailuri în ciclul şi analiza ei .... //

// Dacă nimic de a face - we can close the connection
$error=$pop3_connection->Close(); //
echo $error;
?>

Acum ştim cum să vă conectaţi şi log-on la serverul POP3 şi modul de a solicita numărul de Inbox de e-mail-uri şi le-a dimensiuni. Următor, noi ar trebui să primească pentru fiecare e-mail şi analiza anteturi şi matrice organism.

Va urma

Ponderea şi Bucuraţi-vă de

  • wp socializer sprite mask 16px How to receive and parse emails using POP3 and PHP
  • wp socializer sprite mask 16px How to receive and parse emails using POP3 and PHP
  • wp socializer sprite mask 16px How to receive and parse emails using POP3 and PHP
  • wp socializer sprite mask 16px How to receive and parse emails using POP3 and PHP
  • wp socializer sprite mask 16px How to receive and parse emails using POP3 and PHP
  • wp socializer sprite mask 16px How to receive and parse emails using POP3 and PHP
  • wp socializer sprite mask 16px How to receive and parse emails using POP3 and PHP
  • wp socializer sprite mask 16px How to receive and parse emails using POP3 and PHP
  • wp socializer sprite mask 16px How to receive and parse emails using POP3 and PHP

Mbox gratuit la EML Converter

14 februarie, 2010

Este bine că astăzi există încă programatori care scriu software-ul excelent la nici un cost cu o schimbare. Ce vorbesc despre? Vrei să-ţi spun cum am găsit un alt program pentru colecţia mea de must-have de utilităţi.

Apple Mac calculatoarele sunt folosite pe scară largă în biroul nostru. Aceasta este politica firmei. În pofida politicii companiei, şeful nostru prefera Windows şi utilizează laptopul său featured. Cine ar trebui să încalce normele? Desigur, seful, restul nu este permisă icon smile Free MBOX to EML Converter Trebuie să spun că împărtăşesc că preferinţa, aşa că am instalat Windows 7 la laptopul meu acasă.

Avocatii nostri ar trebui să treacă unor investigaţii din timp în timp şi ar trebui să revizuiască corespondenţa a personalului nostru, dar au acceptat numai în fişierele Outlook PST format.

Într-un precedent articol Am scris despre programul incredibil de necesar Outlook Import Wizard, care ma salvat o mulţime de timp atunci când eml importul fişierelor în Outlook. Sarcina pe care am avut pentru a finaliza pune doar mine în şoc. Este necesar să se converti de e-mail-uri ale angajaţilor noştri în Outlook .pst fişier. Cum putem reconcilia lucruri incompatibile? Cum de a combina MAC OS cu Windows?

Pentru început am avut să efectueze un audit şi a constatat că angajaţii noştri prin intermediul diferitelor pe e-mail clienti. Există doar unele dintre ele: Capră de sârmă ghimpată, Mac Mail, Anturaj, MailCopa, Thunderbird, Eudora, Berkeley Mail. Sarcina de conversie nu par a fi greu de realizat. Am decis că, dacă un motor de căutare nu aduce imediat mi soluţie, atunci voi spune seful meu că misiunea este imposibilă. Asa ca am facut căutare pentru fraza “anturaj, thunderbird, mac e-mail, a eml la pst gratuit mbox” şi de căutare a fost un succes, sa dovedit a fi ceva ce m-am aşteptat. În plus, cuvântul GRATUIT nu corespund cu mine, cu activitatea pe care a trebuit să facă. Imaginează-ţi surpriza mea când pe pagina de descriere a unul pe altul eml la pst convertor, Am găsit mbox libertatea de a eml convertor.

Revizuire software-ul a arătat că, în ciuda faptului că programul este gratuit, aceasta are potenţialul de incredibil. Cu toate acestea, formatul căsuţa poştală fişiere de programe diferite varia în funcţie, Programul a fost în măsură să identifice cu precizie toate semnăturile meta şi recunoaşte corect formatul de fişier. Eu nu glumesc, căsuţa poştală toate fişierele Capră de sârmă ghimpată, Mac Mail, Anturaj, MailCopa, Thunderbird, Eudora şi Berkeley Mail au fost transformate în reţele de e-mail în fişierele EML format. Având în Outlook Import Wizard la mâinile mele îmi permit să importaţi toate eml fişiere în Outlook PST.

Mbox gratuit la EML Converter funcţionează ca un lot-procesor. În primul rând, trebuie să selectaţi toate măsurile necesare mbox fişiere de la care doriţi să preluaţi mesajele eml. Este uşor pentru a selecta toate fişierele cu Schimbare cheie. După faptul că, aveţi nevoie de clic Prelucrare buton, punct de vedere director gol de la hard disk şi aşteptaţi pentru rezultatul. Programul de prelucrare a tuturor fişierelor secvenţial, acesta creează un director pentru fiecare fişier şi umple-l cu extrase fisiere eml. In cazul meu am avut o mulţime de fişiere căsuţa poştală care au fost numiţi, în conformitate cu ghidul de-numele angajaţilor noştri. În cele din urmă am primit o mulţime de dosare, fiecare a avut un nume de utilizator şi conţinute toate corespunzând eml fişiere preluate din cutie poştală.

Ponderea şi Bucuraţi-vă de

  • wp socializer sprite mask 16px Free MBOX to EML Converter
  • wp socializer sprite mask 16px Free MBOX to EML Converter
  • wp socializer sprite mask 16px Free MBOX to EML Converter
  • wp socializer sprite mask 16px Free MBOX to EML Converter
  • wp socializer sprite mask 16px Free MBOX to EML Converter
  • wp socializer sprite mask 16px Free MBOX to EML Converter
  • wp socializer sprite mask 16px Free MBOX to EML Converter
  • wp socializer sprite mask 16px Free MBOX to EML Converter
  • wp socializer sprite mask 16px Free MBOX to EML Converter

Space video Transport de la inceput la sfarsit

25-01, 2010

NASA! Am gasit acest video absolut uimitor. Douăsprezece minute de acţiune al Naveta spaţială Piese. Start de pe Pământ şi în jos la mare. Camere spaţiul de pe fiecare parte a navetă, pare foarte interesant. Foarte frumos Naveta spaţială video.

STS-129 video pune în evidenţă, calculate de SE&Am echipa de imagini aici, la CSM din toate cele de la sol, aer, ET şi SRB activelor.

Ponderea şi Bucuraţi-vă de

  • wp socializer sprite mask 16px Space Shuttle video from start to end
  • wp socializer sprite mask 16px Space Shuttle video from start to end
  • wp socializer sprite mask 16px Space Shuttle video from start to end
  • wp socializer sprite mask 16px Space Shuttle video from start to end
  • wp socializer sprite mask 16px Space Shuttle video from start to end
  • wp socializer sprite mask 16px Space Shuttle video from start to end
  • wp socializer sprite mask 16px Space Shuttle video from start to end
  • wp socializer sprite mask 16px Space Shuttle video from start to end
  • wp socializer sprite mask 16px Space Shuttle video from start to end