Archivo de la ‘Últimos temas’ categoría

PHP Error de anidamiento nivel demasiado profundo recursiva de dependencia

12 de marzo, 2010

He instalado PHP 5.2 en uno de los ordenadores mis pruebas de hoy y un par de trozos de código que previamente trabajó muy bien en la versión 5.1.6 arrojó errores fatales en la nueva versión. El mensaje de error fue "nivel de anidamiento demasiado profundo - recursive dependencia?"Y tomó un poco de tiempo

para localizar la raíz del problema. Esto es lo que había hecho mal.

En PHP existen dos operadores de comparación, == Y ===. Es generalmente conocido que el primero no es estricta sobre el tipo pero el segundo es. Así, por ejemplo

eco ( == falsa 0 ); // verdadero

eco ( === falsa 0 ); // falso

- 0 es un entero y lo falso es un booleano

Mi problema se plantea el uso de escribir no estricta con los objetos.

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

No había pensado en lo que estaba haciendo con este código. Cuando se comparan dos objetos usando el operador de comparación no estricta (==) PHP compara todas las propiedades de los objetos y si coinciden con los objetos se consideran iguales. Si no coinciden no son iguales. En efecto, tenemos una comparación recursiva de todas las propiedades de cada objeto, y todas sus propiedades, etc. hasta llegar a los tipos de datos básicos, como cadenas y números enteros.

Si, sin embargo, usamos una comparación estricta (===), PHP comprobará si los dos objetos son exactamente el mismo objeto, no sólo los objetos con las mismas propiedades.

clase MyObj
{
p $ pública;
}

$a = new MyObj();
$b = new MyObj();
$c = new MyObj();
$a->p = 1;
$b->p = 1;
$c->p = 2;
eco ( $a == $ c ); // falso
eco ( $a == $ b ); // verdadero
eco ( $a === $ b ); // falso

El problema se plantea si tiene referencias circulares en sus objetos propiedades. Así, por ejemplo

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

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

$c = new MyObj();
$d = new OtherObj();
$c->p = $ d;
$d->q = $ c;// otra referencia circular: $c->p->q $ c ===

eco ( $a == $ c ); // Fatal error:
El nivel de anidamiento demasiado profundo – dependencia recursiva?

A fin de comparar a $ a $ c, PHP debe comparar sus propiedades. Así que la lógica en PHP es algo como esto: $una c == $ si $ a->p == $c->p si $ a->p->q == $ c->p->q si $ a->p->q-&p == $ c-$c-&gp-p->q->p etc. por tiempo indefinido.

PHP 5.1 parecía suavizar el problema de alguna manera (probablemente después de un cierto nivel de recursividad simplemente devuelve false) – y por lo gePHPal todo salió bien. PHP 5.2 produce correctamente el error fatal por encima de.

Una vez conocido el problema, la solución es fácil – usar la comparación estricta.

eco ( $a === $ c ); // falso (y no hay error)

La comparación estricta simplemente comprobar si los dos objetos están en el mismo lugar en la memoria y por lo tanto ni siquiera mirar a los valores de las propiedades.

N.B. El mismo problema puede surgir cuando se utilizan los operadores de comparación negada (uso !== En lugar de !=) y cuando se utiliza in_array (uso tercer parámetro in_array para indicar comparación estricta).

Compartir y Disfrutar

  • 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

Cómo recibir y analizar e-mails mediante POP3 y PHP

1 de marzo, 2010

Me gustaría describir algunos métodos sobre cómo escribir el procesador para el correo entrante. Tuve que usar para tal manipulación analizar e-mails recibidas de diversas fuentes. Esto puede ser útil para escribir su propio sistema de filtro de spam, sistema de contestador automático o boleto para recibir las solicitudes por correo electrónico.

Para implementar el algoritmo analizador de correo electrónico que necesitamos

  1. conectarse e iniciar sesión-en el servidor de e-mail
  2. contar el número de cartas recibidas
  3. recive de correo electrónico desde el servidor usando el protocolo POP3
  4. proceso del e-mail cabeceras y el cuerpo y hacer análisis
  5. … poner en práctica las medidas adicionales

Ok, no es tarea muy específica para Codificación de PHP, por lo que necesitamos de hosting que soporta la conexión externa. No me propongo escribir decisión totalmente porque mucho se ha realizado por los programadores con talento ya. Por ejemplo, se puede tomar un módulo listo que permitirá aceptar mensajes de correo electrónico desde un servidor remoto.

Gracias a Manuel Lemos y su módulo (php class) que nombró pop3.php.

Para conectar esa clase en el código, sólo tiene que utilizar incluyen o requieren de comandos: exigir(“pop3.php”);


nombre = $ nombre;
$resultado = $ pop3_connection-> Abrir();

// Estamos tratando de abrir la conexión y muestra el resultado
;
// Tratar de inicio de sesión y la pantalla de error si aparece
($usuario,$AccessCode,$APOP);
si ($error<>"Contraseña de error: Inicio de sesión de fracaso: nombre de usuario desconocido o contraseña incorrecta ".) {echo $error; salida;}
// Ahora ve la estadística de cuántos correos electrónicos se almacenan y el tamaño de los $ result = $ pop3_connection-> Estadísticas($messages, $size);
eco "$contiene el nombre de hoMensajesmessagestamaño$size bytes.";

//..... No podemos recibir correos electrónicos en el ciclo y analizar ellos .... //

// Si nada que ver - podemoecho $ error conexión
(); //
echo $error;
?>

Ahora sabemos cómo conectar y acceder al sistema con el servidor POP3 y cómo solicitar el número de buzón de e-mails y los tamaños de los. Próximo, que debe recibir cada e-mail y analizar las cabeceras y la matriz del cuerpo.

CONTINUARA

Compartir y Disfrutar

  • 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

Libre MBOX to EML converter

14 de febrero, 2010

Es bueno que hoy en día todavía hay programadores que escriben un excelente software, sin costo. Lo que estoy hablando? ¿Quiere que le diga cómo he encontrado otro programa para mi colección de deber-tener utilidades.

Apple MAC las computadoras son difundidos en nuestra oficina. Esta es la política de la empresa. A pesar de la política de la empresa, nuestro jefe prefiere Windows y utiliza su ordenador portátil aparece. ¿Quién debe romper las reglas? Por supuesto, el jefe, el resto no está permitido icon smile Free MBOX to EML Converter Debo decir que comparto que la preferencia, así que tengo instalado Windows 7 a mi ordenador portátil en casa.

Nuestros abogados deben pasar algunas investigaciones de vez en cuando y se debe revisar la correspondencia de nuestro personal, sino que sólo se utilicen los archivos de la Outlook PST formato.

En una artículo anterior Escribí acerca del programa increíblemente necesarias Asistente para importación de Outlook, que me salvó un montón de tiempo cuando importar archivos eml a Outlook. La tarea que tenía que terminar solo me puso en estado de shock. Es necesario para convertir correos electrónicos de nuestros empleados en el Outlook .pst expediente. ¿Cómo podemos conciliar cosas incompatibles? ¿Cómo combinar con MAC OS de Windows?

Para empezar tuve que realizar una auditoría y encontraron que nuestros empleados con varios clientes de correo electrónico. No son sólo algunos de ellos: Autopista de peaje, Mac Mail, Séquito, MailCopa, Thunderbird, Eudora, Berkeley Mail. La tarea de conversión no parecía factible. Decidí que si un motor de búsqueda no de inmediato me traiga la solución, entonces yo le diré a mi jefe que la misión es imposible. Así que hice la búsqueda de la frase “séquito, thunderbird, Mac Mail, eml a mbox a pst libre” y la búsqueda se ha realizado correctamente, resultó algo que nunca esperaba. Por otra parte, la palabra GRATIS no corresponde a mí con la tarea que tenía que hacer. Imaginen mi sorpresa cuando en la página de descripción de la otra eml a pst convertidor, Encontré el mbox libre eml conversor.

La revisión de software mostró que a pesar del hecho de que el programa es gratuito, tiene el increíble potencial. No obstante, el buzón de los archivos de formato de los programas varían, el programa pudo identificar con exactitud todas las firmas meta y reconocer correctamente el formato de archivo. No estoy bromeando, todos los archivos de buzón Autopista de peaje, Mac Mail, Séquito, MailCopa, Thunderbird, Eudora y Berkeley Mail se transformaron en series de archivos de correo electrónico en EML formato. Tener la Asistente para importación de Outlook en mis manos me permite importar todos eml en Outlook PST.

Libre MBOX to EML converter funciona como un reactor para. En primer lugar hay que seleccionar todas las medidas necesarias archivos mbox desde el que desea recuperar los mensajes eml. Es fácil para seleccionar todos los archivos con la Cambio clave. Después de eso, necesita hacer clic en el Transformación botón, apunte al directorio vacío en su disco duro y esperar por el resultado. El programa de procesamiento de todos los archivos de forma secuencial, Crea un directorio para cada archivo y llenarlo con de los archivos extraídos eml. En mi caso tuve un montón de archivos de buzones que fueron nombrados de conformidad con el usuario los nombres de nuestros empleados. Finalmente tengo un montón de carpetas, cada uno tenía un nombre de usuario y todos los contenidos correspondientes eml encontrado en los buzón.

Compartir y Disfrutar

  • 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

Transbordador Espacial de vídeo de principio a fin

25 de enero, 2010

NASA! He encontrado este vídeo absolutamente asombroso. Doce minutos de acción de Transbordador espacial partes. Empezar desde la Tierra y hacia el mar. Espacio cámaras en cada parte de la lanzadera, parece muy interesante. Muy bonito Transbordador espacial vídeo.

Video STS-129 Eventos recopiladas por la 'S&Yo imaginería equipo aquí en el JSC de todos los de la tierra, aire, ET y SRB activos.

Compartir y Disfrutar

  • 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