Archive for the ‘Ultimi topic’ category

Errore di livello di dipendenza PHP Nesting Too Deep ricorsive

12 marzo, 2010

Ho installato PHP 5.2 a uno dei miei computer di prova di oggi e un paio di pezzi di codice che in precedenza ha lavorato bene in versione 5.1.6 gettò errori fatali nella nuova versione. Il messaggio di errore era "troppo profondo livello di nidificazione - recursive dipendenza?"E ci è voluto un po 'di tempo

per rintracciare la radice del problema. Ecco quello che avevo fatto di sbagliato.

In PHP ci sono due operatori di confronto, == E ===. E 'noto che la prima non è rigido sul tipo, ma la seconda è. Così, for example

eco ( == false 0 ); // vero

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

- 0 è un intero e falso è un valore booleano

Il mio problema è sorto da usare digitando non rigorosa con gli oggetti.

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

Non avevo considerato quello che stavo facendo con questo codice. Quando si confrontano due oggetti utilizzando l'operatore di confronto non-strict (==) PHP mette a confronto tutte le proprietà degli oggetti e se corrispondono gli oggetti sono considerati uguali. Se esse non corrispondono non sono uguali. Infatti, abbiamo un confronto ricorsivo di tutte le proprietà di ciascun oggetto, e tutte le loro proprietà, ecc. fino a raggiungere tipi di dati fondamentali come stringhe e numeri interi.

If, tuttavia, usiamo il confronto rigoroso (===), PHP verificherà se i due oggetti sono esattamente lo stesso oggetto, non solo oggetti con le stesse proprietà.

classe MyObj
{
p $ pubblico;
}

$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 ); // vero
eco ( $a === $b ); // falso

Il problema sorge se si dispone di riferimenti circolari negli oggetti immobili. Così, for example

classe MyObj
{
p $ pubblico;
}
classe OtherObj
{
pubblico $ q;
}

$a = new MyObj();
$b = new OtherObj();
$a->p = $ b;
$b->q = $ a; // il riferimento circolare: $a->p->=== Q $ a

$c = new MyObj();
$d = new OtherObj();
$c->p = $ d;
$d->q = $ c;// un altro riferimento circolare: $c->p->q $ c ===

eco ( $a == $c ); // Fatal error:
Nesting level too deep – dipendenza ricorsiva?

Al fine di confrontare a $ a $ c, PHP deve confrontare le loro proprietà. Quindi la logica in PHP va qualcosa come questo: $a == $c if $a->p == $c->p if $a->p->q == $c->p->q if $a->p->q->p == $c->p->q->p etc. indefinitamente.

PHP 5.1 sembrava di appianare il problema in qualche modo (probabilmente dopo un certo livello di ricorsione semplicemente restituito false) – e di solito ha funzionato bene. PHP 5.2 produce correttamente l'errore fatale di sopra.

Una volta che conosci il problema, la soluzione è semplice – uso rigoroso confronto.

eco ( $a === $c ); // falso (e nessun errore)

Il confronto rigoroso si limiterà a verificare se i due oggetti sono nella stessa posizione in memoria e quindi non guardano neanche i valori delle proprietà.

NB. Lo stesso problema può verificarsi quando si usano gli operatori di confronto negato (uso !== Invece di !=) e quando si usa in_array (terzo parametro in_array uso per indicare il confronto rigoroso).

Condividi questo articolo

  • 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

Come ricevere e analizzare le email tramite POP3 e PHP

1 marzo, 2010

Vorrei descrivere alcuni metodi su come scrivere il processore per la posta in arrivo. Ho dovuto usare tale manipolazione per analizzare le e-mail ricevuti da diverse fonti. Questo può essere utile per scrivere il proprio sistema di filtro anti-spam, sistema di segreteria telefonica o il biglietto a ricevere le domande per e-mail.

Per implementare l'algoritmo di parser e-mail abbiamo bisogno

  1. connessione e log-on per server e-mail
  2. contare il numero di lettere in arrivo
  3. ricevere e-mail dal server utilizzando il protocollo POP3
  4. processo le intestazioni e-mail e il corpo e fare il parsing
  5. … realizzare eventuali azioni aggiuntive

Ok, non vi è compito molto specifico per Lo sviluppo in PHP, così abbiamo bisogno di hosting che supporta la connessione esterna. Io non propongo di scrivere decisione totalmente, perché molto è stato realizzato dai programmatori di talento già. Per esempio, si può prendere un modulo che consentirà di pronto accettare e-mail da un server remoto.

Grazie a Manuel Lemos e il suo modulo (php class) , che di nome pop3.php.

Per collegare quella classe al codice, basta usare inserire o richiedere il comando: richiedere(“pop3.php”);


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

// Stiamo cercando di aprire la connessione e visualizzare il risultato
;
// Cercando di accedere e visualizzare il messaggio di errore se appaiono
($utente,$accesscode,$apoptotico);
se ($errore<>'Password errore: Errore durante l'accesso: nome utente sconosciuto o password errata. ') {echo $error; uscita;}
// Ora prendete la statistica di quante e-mail vengono memorizzati e la loro dimensione $ risultato = $ pop3_connection-> Statistiche($messages, $size);
eco "$Contiene hostname  $mmessaggi/b> di $sdimensione/b> bytes.";

//..... Ci si può ricevere e-mail del ciclo e il parsing loro .... //

// Se nulla a che fare - siamo in grado di chiudere laecho $ errore
(); //
echo $error;
?>

Ora sappiamo come collegare e del log-in al server POP3 e come richiedere il numero di casella e-mail e loro dimensioni. Prossimo, dovremmo ricevere ogni e-mail e analizzare le intestazioni e la matrice del corpo.

CONTINUA

Condividi questo articolo

  • 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 Liberi di EML Converter

14 febbraio, 2010

E 'positivo che oggi ci sono ancora i programmatori che scrivono software eccellente, senza alcun costo. Che cosa sto parlando? Voglio dirvi come ho trovato un altro programma per la mia collezione di must-have utility.

Apple MAC i computer sono usati diffusi nel nostro ufficio. Questa è la politica della società. Nonostante la politica della società, il nostro capo preferisce Windows e utilizza il suo computer portatile caratterizzato. Chi deve rompere le regole? Naturalmente il boss, il resto non è consentito icon smile Free MBOX to EML Converter Devo dire che condivido che la preferenza, così ho installato Windows 7 al mio portatile a casa.

I nostri avvocati dovrebbero passare alcune indagini di volta in volta e si dovrebbe rivedere la corrispondenza del nostro personale, ma accettate solo i file nella PST di Outlook in formato.

In un precedente articolo Ho scritto su programma incredibilmente necessario Outlook Importazione guidata, che mi ha salvato un sacco di tempo quando l'importazione di file eml in Outlook. Il compito che dovevo portare a termine appena mi ha messo in stato di shock. È necessario convertire le e-mail dei nostri dipendenti in Outlook .pst file. Come conciliare le cose incompatibili? Come combinare MAC OS con il Windows?

Per iniziare ho dovuto effettuare un audit ed ha trovato che i nostri dipendenti che utilizzano vari client di posta elettronica. Ci sono solo alcuni di essi: Autostrada a pedaggio, Mac Mail, Entourage, MailCopa, Thunderbird, Eudora, Berkeley Mail. Il compito di conversione non sembra fattibile. Ho deciso che se un motore di ricerca non mi portano immediatamente la soluzione, allora dirò al mio capo che la missione è impossibile. Così ho fatto ricerca per la frase “entourage, Thunderbird, mac mail, a eml a pst mbox libero” e la ricerca ha avuto successo, si è rivelato qualcosa mi sarei mai aspettato. Inoltre, la parola GRATIS non coincide con me, con il compito che aveva a che fare. Immaginate la mia sorpresa quando nella pagina di descrizione di un altro eml al convertitore di PST, Ho trovato la mbox libero di eml convertitore.

La revisione del software ha dimostrato che nonostante il fatto che il programma è gratuito, essa ha il potenziale incredibile. Tuttavia, la casella e-mail i file di formato di programmi diversi variare, il programma è stato in grado di identificare con precisione tutte le firme meta e correttamente riconoscere il formato del file. Non sto scherzando, tutti i file Mailbox Autostrada a pedaggio, Mac Mail, Entourage, MailCopa, Thunderbird, Eudora e Berkeley Mail sono state trasformate in matrici di e-mail i file in Formato EML. Avere il Outlook Importazione guidata le mie mani mi permette di importare tutti eml in Outlook PST.

MBOX Liberi di EML Converter funziona come un processore batch. In primo luogo è necessario selezionare tutti i necessari mbox file da cui si desidera recuperare i messaggi eml. E 'facile selezionare tutti i file con Turno chiave. Dopo, è necessario fare clic sul Lavorazione pulsante, punti alla directory vuota sul disco rigido e attendere il risultato. Il programma di elaborazione di tutti i file in sequenza, crea una directory per ciascun file e riempirlo con eml estratti. Nel mio caso ho avuto un sacco di file di cassette postali che sono stati nominati in conformità con l'utente-nomi dei nostri dipendenti. Alla fine ho avuto un sacco di cartelle, ognuno aveva un nome utente e conteneva tutte le corrispondenti eml recuperate dal casella di posta.

Condividi questo articolo

  • 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 Shuttle video dall'inizio alla fine

25 gennaio, 2010

NASA! Ho trovato questo video assolutamente sorprendente. Dodici minuti di azione di Shuttle parti. Inizia dalla Terra e verso il mare. Spazio telecamere su ogni parte di navetta, sembra molto interessante. Molto bello Shuttle video.

STS-129 video mette in evidenza come compilato da SE&I team di immagini qui a JSC da tutti della terra, aria, ET e SRB attività.

Condividi questo articolo

  • 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