Archive for the ‘Letzte Topics’ category

PHP Fehler Schachtelungsebene Too Deep Rekursive Dependency

12. März, 2010

Ich habe PHP installiert 5.2 bei einem meiner Tests heute Computer und ein paar Stückchen Code, arbeitete zuvor in feine Version 5.1.6 warf fatale Fehler in der neuen Version. Die Fehlermeldung war "Schachtelungsebene zu tief - recursive Abhängigkeit?"Und es dauerte ein wenig Zeit

auf die Spur der Wurzel des Problems. Hier ist, was ich falsch gemacht.

In PHP gibt es zwei Vergleichsoperatoren, == Und ===. Es ist bekannt, dass in der Regel die erste ist nicht so streng, aber der zweite Typ ist. So, zum Beispiel

Echo ( == false 0 ); // wahr

Echo ( false === 0 ); // falsch

- 0 ist ein Integer und falsch ist ein boolean

Mein Problem ergab sich aus mit nicht-strikte Typisierung mit Objekten.

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

Ich hatte nicht bedacht, was ich mit diesem Code machen. Beim Vergleich von zwei Objekten mit Hilfe der nicht-strengen Vergleich Betreiber (==) PHP vergleicht alle Eigenschaften der Objekte und die Objekte, wenn sie übereinstimmen, werden als gleich. Wenn sie nicht übereinstimmen sie sind nicht gleich. In Wirklichkeit, Wir haben eine rekursive Vergleich der alle Eigenschaften der einzelnen Objekte, und alle ihre Eigenschaften, usw.. bis wir zu den elementaren Datentypen wie Strings und Zahlen.

If, aber, verwenden wir strengen Vergleich (===), PHP wird prüfen, ob die beiden Objekte genau das gleiche Objekt, nicht nur Objekte mit gleichen Eigenschaften.

Klasse MyObj
{
public $ p;
}

$a = new MyObj();
$b = new MyObj();
$c = new MyObj();
$a->p = 1;
$b->p = 1;
$c->p = 2;
Echo ( $a == $c ); // falsch
Echo ( $a == $b ); // wahr
Echo ( $a === $b ); // falsch

Das Problem entsteht, wenn Sie in Ihrem Zirkelbezüge Objekte Eigenschaften haben. So, zum Beispiel

Klasse MyObj
{
public $ p;
}
Klasse OtherObj
{
public $ q;
}

$a = new MyObj();
$b = new OtherObj();
$a->p = $ b;
$b->q = $ a; // die Zirkelverweis: $a->p->=== Q $ a

$c = new MyObj();
$d = new OtherObj();
$c->p = $ d;
$d->q = $ c;// anderen Zirkelverweis: $c->p->q $ c ===

Echo ( $a == $c ); // Fatal error:
Nesting level too deep – rekursive Abhängigkeit?

Um die Vergleichbarkeit zu $ a $ c, PHP muss vergleichen, ihre Eigenschaften. So die Logik in PHP geht so etwas wie dieses: $a == $c if $a->p == $c->p if $a->p->q == $c->p->q if $a->p->q->p == $c->p->q->p etc. auf unbestimmte Zeit.

PHP 5.1 schien glatt über das Problem irgendwie (wahrscheinlich nach einer bestimmten Ebene der Rekursion es einfach falsch zurückgegeben) – und normalerweise ist es bestens geklappt. PHP 5.2 korrekt produziert das fatal error oben.

Sobald Sie wissen, das Problem, Die Lösung ist einfach – use strict Vergleich.

Echo ( $a === $c ); // falsch (und kein Fehler)

Die strengen Vergleich einfach überprüfen, ob die beiden Objekte an der gleichen Stelle in Erinnerung sind und so gar nicht an die Werte der Eigenschaften suchen.

NB. Das gleiche Problem kann auftreten, wenn die negierte Vergleichsoperatoren (Verwendung !== Statt !=) und bei der Verwendung in_array (Verwendung in_array dritte Parameter geben strengen Vergleich).

Share and Enjoy

  • 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

Wie zu empfangen und zu analysieren, E-Mails mit POP3-und PHP

1. März, 2010

Ich möchte einige Methoden, wie der Prozessor für eingehende E-Mails schreiben, beschreiben. Ich hatte solche Manipulationen zu nutzen Analysieren von E-Mails aus verschiedenen Quellen empfangen. Dies kann für das Schreiben Ihrer eigenen Spam-Filter-System nützlich, Anrufbeantworter oder Ticket-System zu erhalten, Bewerbungen per E-Mail.

Zur Umsetzung der E-Mail-Parser-Algorithmus müssen wir

  1. verbinden und Anmeldung an E-Mail-Server
  2. count die Anzahl der eingehenden Briefe
  3. recive E-Mail vom Server über POP3-Protokoll
  4. Prozess die E-Mail-Header und Körper und machen Parsen
  5. … Umsetzung keine zusätzlichen Maßnahmen

OK, gibt es ganz bestimmte Aufgabe für PHP-Programmierung, Also brauchen wir Hosting, unterstützt externe Verbindung. Ich schlage nicht vor der Entscheidung völlig, weil viel wurde von vielen talentierten Programmierern bereits realisiert schreiben. Zum Beispiel, Sie können ein fertiges Modul welches erlaubt akzeptieren E-Mails von einem Remote-Server.

Danke an Manuel Lemos und seinem Modul (PHP-Klasse) die pop3.php benannt.

Um eine Verbindung dieser Klasse, um Ihren Code, Sie brauchen nur zu verwenden sind oder verlangen Befehl: erfordern(“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($Benutzer,$accesscode,$apop);
wenn ($Fehler<>"Passwort-Fehler: Anmeldung fehlgeschlagen: Unbekannter Benutzername oder falsches Kennwort. ") {echo $error; Ausfahrt;}
// Now get the statistic how many emails are stored and the size of them $result=$pop3_connection->Statistics($messages, $size);
Echo "$hostname contains  $messages von $size bytes.";

//..... Dort haben wir empfangen können E-Mails in den Zyklus und analysieren sie .... //

// Wenn nichts zu tun - we can close the connection
$error=$pop3_connection->Close(); //
echo $error;
?>

Jetzt wissen wir, wie die Verbindung und Anmeldung an den POP3-Server und wie man die Zahl der Posteingang von E-Mails anfordern und ihnen Größen. Nächste, sollten wir erhalten jede E-Mail und Parsen der Header-und Körper-Array.

FORTSETZUNG FOLGT

Share and Enjoy

  • 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

Free MBOX zu EML Converter

14. Februar, 2010

Es ist gut, dass heute gibt es Programmierer, die hervorragende Software zu schreiben mit keinerlei Kosten. Was ich rede? Willst du sagen, wie ich ein anderes Programm für meine Sammlung von "must-have Utilities gefunden.

Apple MAC Computer sind weit verbreitet eingesetzt in unserem Büro. Das ist die Politik des Unternehmens. Trotz der Politik des Unternehmens, unser Chef lieber Windows und nutzt seine vorgestellten Laptop. Wer sollte die Regeln brechen? Natürlich ist der Chef, Der Rest ist nicht erlaubt icon smile Free MBOX to EML Converter Ich muss sagen, dass ich das Vorzugsaktie, so habe ich installiert Windows 7 zu mir nach Hause Laptop.

Unsere Anwälte sind einige Untersuchungen von Zeit zu Zeit vorbei und sie sollten die Korrespondenz der Mitarbeiter zu überprüfen, sondern sie akzeptierten nur die Dateien im Outlook PST-Format.

In einer vorheriger Artikel Ich schrieb über unglaublich notwendige Programm Outlook-Import-Assistent, die mich gerettet viel Zeit, wenn Import eml-Dateien in Outlook. Die Aufgabe, die musste ich komplett stecken sie mich einfach in einen Schockzustand. Es ist notwendig zu konvertieren, E-Mails von unseren Mitarbeitern in den Outlook- .pst Datei. Wie können wir unvereinbare Dinge? Wie Mac OS mit der Windows verbinden?

Für den Anfang hatte ich ein Audit durchzuführen und festgestellt, dass unsere Mitarbeiter verschiedene E-Mail-Clients verwenden. Es sind nur einige von ihnen: Schlagbaum, Mac Mail, Gefolge, MailCopa, Thunderbird, Eudora, Berkeley Mail. Die Umwandlung Aufgabe schien nicht machbar. Ich beschloss, dass, wenn eine Suchmaschine nicht sofort bringen Sie mir die Lösung, dann werde ich zu meinem Chef sagen, dass die "Mission impossible" ist. Also habe ich die Suche nach der Phrase “Gefolge, thunderbird, Mac Mail, eml, um den freien mbox pst” und die Suche erfolgreich war, Es erwies sich etwas, was ich nie erwartet. Außerdem, das Wort Kostenlose stimmt nicht mit mir mit, dass die Aufgabe zu tun hatte. Stellen Sie sich meine Überraschung, als auf der Seite mit der Beschreibung der ein anderes eml zu PST-Konverter, Ich fand die frei mbox zu eml-Wandler.

Die Software Überprüfung ergab, dass trotz der Tatsache, dass das Programm kostenlos, Er hat das unglaubliche Potential. Dennoch ist die Mailbox-Dateien Format der verschiedenen Programme variieren, Das Programm war in der Lage exakt identifiziert meta Signaturen und richtig zu erkennen das Dateiformat. Ich mache keine Witze, Alle Mailbox-Dateien Schlagbaum, Mac Mail, Gefolge, MailCopa, Thunderbird, Eudora und Berkeley Mail Arrays wurden in der E-Mail-Dateien umgewandelt in EML-Format. Nachdem der Outlook-Import-Assistent auf meine Hände erlauben Sie mir, import all eml-Dateien in Outlook PST.

Free MBOX zu EML Converter arbeitet als Batch-Prozessor. Zuerst sollten Sie alle notwendigen mbox-Dateien aus denen Sie eml-Nachrichten abrufen. Es ist einfach, alle Dateien mit der SELECT Verschiebung Schlüssel. Danach, Sie müssen auf die Verarbeitung Taste, zeigen Sie auf das leere Verzeichnis auf Ihrer Festplatte und warten auf das Ergebnis. Das Programm verarbeitet alle Dateien sequenziell, Es erzeugt ein Verzeichnis für jede Datei und füllen Sie ihn mit eml-Dateien extrahiert. In meinem Fall hatte ich eine Menge von Mailbox-Dateien, die im Einklang mit dem Benutzer-Namen unserer Mitarbeiter benannt wurden. Irgendwann bekam ich eine Menge von Ordnern, jeder hatte einen Benutzernamen und enthalten alle entsprechenden eml-Dateien Von den Briefkasten.

Share and Enjoy

  • 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 vom Anfang bis zum Ende

25. Januar, 2010

NASA! Ich fand dieses Video absolut erstaunlich. Zwölf Minuten der Einwirkung von Raumfähre Teile. Start von der Erde und bis ans Meer. Space-Kameras auf jeden Teil des Shuttle, sieht sehr interessant. Sehr schön Raumfähre Video.

STS-129 Video-Highlights wie die "S kompiliert&Ich Bildsprache Team hier bei JSC von allen den Boden, Luft, ET und SRB Vermögenswerte.

Share and Enjoy

  • 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