Archive for the ‘Temes Darrer’ category

Nivell PHP error de anidament recursiu dependència Too Deep

Març 12, 2010

He instal lat PHP 5.2 en un dels ordinadors meus proves d'avui i un parell de trossos de codi que prèviament va treballar molt bé en la versió 5.1.6 va llançar errors fatals en la nova versió. El missatge d'error va ser "nivell de anidament massa profund - recursive dependència?"I va prendre una mica de temps

per localitzar l'arrel del problema. Això és el que havia fet malament.

A PHP hi ha dos operadors de comparació, == I ===. És generalment conegut que el primer no és estricta sobre el tipus però el segon és. Així, for example

ressò ( == Falsa 0 ); // veritable

ressò ( === Falsa 0 ); // fals

- 0 és un enter i la falsedat és un booleà

El meu problema es planteja l'ús d'escriure no estricta amb els objectes.

$a = new MyObj();
$b = new MyObj();
si( $a == $b )

No hi havia pensat en el que estava fent amb aquest codi. Quan es comparen dos objectes utilitzant l'operador de comparació no estricta (==) PHP compara totes les propietats dels objectes i si coincideixen amb els objectes es consideren iguals. Si no coincideixen no són iguals. En efecte, tenim una comparació recursiva de totes les propietats de cada objecte, i totes les seves propietats, etc. fins arribar als tipus de dades bàsiques, com cadenes i números enters.

If, però, fem servir una comparació estricta (===), PHP comprovarà si els dos objectes són exactament el mateix objecte, no només els objectes amb les mateixes propietats.

classe MyObj
{
p $ pública;
}

$a = new MyObj();
$b = new MyObj();
$c = new MyObj();
$a->p = 1;
$b->p = 1;
$c->p = 2;
ressò ( $a == $c ); // fals
ressò ( $a == $b ); // veritable
ressò ( $a === $b ); // fals

El problema es planteja si té referències circulars en els seus objectes propietats. Així, for example

classe MyObj
{
p $ pública;
}
classe OtherObj
{
pública $ q;
}

$a = new MyObj();
$b = new OtherObj();
$a->p = $ b;
$b->q = $ a; // la referència circular: $a->p->q === $ a

$c = new MyObj();
$d = new OtherObj();
$c->p = $ d;
$d->q = $ c;// altra referència circular: $c->p->q $ c ===

ressò ( $a == $c ); // Fatal error:
Implantació nivell massa profund – dependència recursiva?

Per tal de comparar a $ a $ c, PHP ha de comparar les seves propietats. Així que la lògica en PHP és una cosa com això: $a == $c if $a->p == $c->p if $a->p->q == $c->p->q if $a->p->q->p == $c->p->q->p etc. per temps indefinit.

PHP 5.1 semblava suavitzar el problema d'alguna manera (probablement després d'un cert nivell de recursivitat simplement retorna false) – i en general va PHPtir bé. PHP 5.2 produeix correctament l'error greu per sobre de.

Un cop conegut el problema, la solució és fàcil – utilitzar una comparació estricta.

ressò ( $a === $c ); // fals (i cap error)

La comparació estricta simplement comprovar si els dos objectes estan en el mateix lloc en memòria i així ni tan sols mirar els valors de les propietats.

NB. El mateix problema pot sorgir quan s'utilitzen els operadors de comparació negada (ús !== En lloc de !=) i quan s'utilitza in_array (in_array tercer paràmetre per indicar l'ús d'una comparació estricta).

Comparteix i Gaudeix

  • 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

Com rebre i analitzar missatges de correu electrònic utilitzant POP3 i PHP

1 mar, 2010

M'agradaria descriure alguns mètodes de com escriure el processador per al correu entrant. Vaig haver de fer servir per tal manipulació analitzar i-mails rebudes de diverses fonts. Això pot ser útil per escriure el seu propi sistema de filtre d'spam, sistema de contestador automàtic o butlleta per rebre les sol • licituds per correu electrònic.

Per implementar l'algorisme analitzador de correu electrònic que necessitem

  1. connectar i iniciar sessió-al servidor de correu electrònic
  2. comptar el nombre de cartes rebudes
  3. recived de correu electrònic des del servidor usant el protocol POP3
  4. procés de l'e-mail capçaleres i el cos i fer anàlisis
  5. … posar en pràctica les mesures addicionals

Ok, no és tasca molt específica per Codificació de PHP, per la qual cosa necessitem de hosting que suporta la connexió externa. No em proposo escriure decisió totalment perquè molt s'ha realitzat pels programadors amb talent ja. Per exemple, es pot prendre un mòdul llest que permetrà acceptar missatges de correu electrònic des d'un servidor remot.

Gràcies a Manuel Lemos i el seu mòdul (php class) que va nomenar pop3.php.

Per connectar aquesta classe en el codi, només ha d'utilitzar inclouen o requereixen d'ordres: exigir(“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($user,$accesscode,$apop);
si ($error<>"Contrasenya d'error: Inici de sessió de fracàs: nom d'usuari desconegut o contrasenya incorrecta ".) {echo $error; sortida;}
// Now get the statistic how many emails are stored and the size of them $result=$pop3_connection->Statistics($messages, $size);
ressò "$hostname contains  $messages de $size bytes.";

//..... No podem rebre correus electrònics en el cicle i analitzar ells .... //

// Si res a veure - we can close the connection
$error=$pop3_connection->Close(); //
echo $error;
?>

Ara sabem com connectar i accedir al sistema amb el servidor POP3 i com demanar el nombre de bústia d'e-mails i les mides dels. Pròxim, que ha de rebre cada e-mail i analitzar les capçaleres i la matriu del cos.

CONTINUADA

Comparteix i Gaudeix

  • 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 gratuïta de EML Converter

Febrer 14, 2010

És bo que avui en dia encara hi ha programadors que escriuen un excel lent programari, sense cost. El que estic parlant? Vol que li digui com he trobat un altre programa per a la meva col lecció de deure-tenir utilitats.

Apple MAC els ordinadors són difosos a la nostra oficina. Aquesta és la política de l'empresa. Tot i la política de l'empresa, el nostre cap prefereix Windows i utilitza el seu ordinador portàtil apareix. Qui ha de trencar les regles? Per descomptat, el cap, la resta no està permès icon smile Free MBOX to EML Converter He de dir que comparteixo que la preferència, així que tinc instal lat Windows 7 al meu ordinador portàtil a casa.

Els nostres advocats han de passar algunes investigacions de tant en tant i s'ha de revisar la correspondència del nostre personal, sinó que només s'utilitzen els arxius de la Outlook PST format.

En una article anterior Vaig escriure sobre el programa increïblement necessàries Assistent per a importació d'Outlook, que em va salvar un munt de temps quan importar arxius eml a Outlook. La tasca que havia d'acabar només em va posar en estat de xoc. Cal per convertir correus electrònics dels nostres empleats en l'Outlook .pst expedient. Com podem conciliar coses incompatibles? Com combinar amb MAC OS Windows?

Per començar vaig haver de realitzar una auditoria i van trobar que els nostres empleats amb diversos clients de correu electrònic. No són només alguns d'ells: Autopista de peatge, Mac Mail, Seguici, MailCopa, Thunderbird, Eudora, Berkeley Mail. La tasca de conversió no semblava factible. Vaig decidir que si un motor de cerca no immediatament em porti la solució, llavors jo li diré al meu cap que la missió és impossible. Així que vaig fer la recerca de la frase “seguici, Thunderbird, Mac Mail, eml a mbox a pst lliure” i la recerca s'ha realitzat correctament, resultar una cosa que mai esperava. D'altra banda, la paraula GRATIS no correspon a mi amb la tasca que havia de fer. Imagineu la meva sorpresa quan a la pàgina de descripció de l'altra eml a pst convertidor, Vaig trobar l' mbox lliure de EML Converter.

La revisió de programari va mostrar que malgrat el fet que el programa és gratuït, té l'increïble potencial. No obstant això, la bústia dels arxius de format dels programes varien, el programa va poder identificar amb exactitud totes les signatures meta i reconèixer correctament el format de fitxer. No estic fent broma, tots els arxius de bústia Autopista de peatge, Mac Mail, Seguici, MailCopa, Thunderbird, Eudora i Berkeley Mail es van transformar en sèries d'arxius de correu electrònic a EML format. Tenir la Assistent per a importació d'Outlook a les meves mans em permet importar tots eml a Outlook PST.

Mbox gratuïta de EML Converter funciona com un reactor per. En primer lloc cal seleccionar totes les mesures necessàries arxius mbox des del qual voleu recuperar els missatges eml. És fàcil per a seleccionar tots els fitxers amb la Canvi clau. Després d'això, necessita fer clic al Transformació botó, apunt al directori buit en el seu disc dur i esperar pel resultat. El programa de processament de tots els arxius de forma seqüencial, Crea un directori per a cada arxiu i omplir amb dels arxius extrets eml. En el meu cas vaig tenir un munt d'arxius de bústies que van ser nomenats de conformitat amb l'usuari els noms dels nostres empleats. Finalment tinc un munt de carpetes, cada un tenia un nom d'usuari i tots els continguts corresponents eml trobat en els bústia.

Comparteix i Gaudeix

  • 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

Espai de vídeo de transfer des de principi a fi

Gener 25, 2010

NASA! He trobat aquest vídeo absolutament sorprenent. Dotze minuts d'acció de Transbordador espacial parts. Començar des de la Terra i cap al mar. Espai càmeres en cada part de la llançadora, sembla molt interessant. Molt bonic Transbordador espacial vídeo.

STS-129 de vídeo destaca recopilades per la SE&Jo imatgeria equip aquí al JSC de tots els de la terra, aire, ET i SRB actius.

Comparteix i Gaudeix

  • 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