Archive for the ‘Derniers sujets’ category

Niveau d'erreur PHP nidification dépendance Too Deep récursive

12 mars, 2010

J'ai installé PHP 5.2 à un de mes ordinateurs à l'essai aujourd'hui et un couple de bits de code qui a travaillé auparavant dans la version amende 5.1.6 il produit une erreur fatale dans la nouvelle version. Le message d'erreur était "niveau d'imbrication trop profonde - recursive dépendance?»Et il a fallu un peu de temps

pour traquer la racine du problème. Voici ce que j'avais fait de mal.

En PHP, il ya deux opérateurs de comparaison, == Et ===. Il est généralement connu que le premier n'est pas stricte sur le type, mais le second est. Si, par exemple,

écho ( == false 0 ); // vrai

écho ( false === 0 ); // faux

- 0 est un entier et le faux est un booléen

Mon problème vient de typage non-stricte avec des objets.

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

Je n'avais pas considéré comme ce que je faisais avec ce code. Lorsque l'on compare deux objets en utilisant l'opérateur de comparaison non-stricte (==) PHP compare toutes les propriétés des objets et si elles correspondent aux objets sont réputés être égaux. Si elles ne correspondent pas, ils ne sont pas égaux. En vigueur, nous avons une comparaison récursive de toutes les propriétés de chaque objet, et toutes leurs propriétés, etc. jusqu'à ce qu'on arrive base des types de données comme les chaînes et les nombres entiers.

Si, cependant, nous utilisons une comparaison stricte (===), PHP va vérifier si les deux objets sont exactement le même objet, pas seulement des objets avec les mêmes propriétés.

classe MyObj
{
p public $;
}

$a = new MyObj();
$b = new MyObj();
$c = new MyObj();
$a->p = 1;
$b->p = 1;
$C->p = 2;
écho ( $a == $ c ); // faux
écho ( $a == $ b ); // vrai
écho ( $a === $ b ); // faux

Le problème se pose si vous avez des références circulaires dans vos objets propriétés. Si, par exemple,

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

$a = new MyObj();
$b = new OtherObj();
$a->p = $ b;
$b->q = $ a; // la référence circulaire: $a->p->=== Q $ par

$c = new MyObj();
$d = new OtherObj();
$C->p = $d;
$D->q = $c;// une autre référence circulaire: $C->p->q === $c

écho ( $a == $ c ); // Erreur fatale:
Niveau d'imbrication trop profonde – dépendance récursive?

Afin de comparer à $ a $ C, PHP doit comparer leurs propriétés. Ainsi, la logique en PHP va quelque chose comme ceci: $une 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. indéfiniment.

PHP 5.1 semblait lisse sur le problème en quelque sorte (probablement après un certain niveau de récursivité c'est tout simplement faux retour) – et enPHPnéral il s'est bien. PHP 5.2 produit correctement l'erreur fatale ci-dessus.

Une fois que vous connaissez le problème, la solution est simple – l'utilisation stricte comparaison.

écho ( $a === $ c ); // faux (et aucune erreur)

La comparaison stricte sera simplement de vérifier si les deux objets sont au même endroit dans la mémoire et donc ne regarde même pas les valeurs des propriétés.

N.B. Le même problème peut survenir lorsque vous utilisez les opérateurs de comparaison niée (utilisation !== Au lieu de !=) et lorsque vous utilisez in_array (troisième paramètre in_array utiliser pour indiquer comparaison stricte).

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

Comment recevoir et analyser les e-mails en utilisant les protocoles POP3 et PHP

1 mars, 2010

Je voudrais décrire certaines méthodes sur la façon d'écrire le processeur pour le courrier entrant. J'ai dû utiliser de telles manipulations de analyser des e-mails provenant de diverses sources. Cela peut être utile pour la rédaction de votre propre système de filtre anti-spam, système de répondeur ou un billet à recevoir les demandes par e-mail.

Pour mettre en œuvre l'algorithme analyseur e-mail dont nous avons besoin

  1. connecter et ouvrir une session sur le serveur e-mail
  2. compter le nombre de lettres reçues
  3. recive e-mail depuis le serveur en utilisant le protocole POP3
  4. traiter les en-têtes d'e-mail et le corps et faire l'analyse
  5. … mettre en œuvre toutes les mesures supplémentaires

Ok, il ya tâche très spécifique pour Code PHP, Nous avons donc besoin d'hébergement qui supporte la connexion externe. Je ne propose pas d'écrire décision tout à fait parce que beaucoup a été réalisé par des programmeurs de talent déjà. Par exemple, vous pouvez prendre un module de prêt qui permettra d'accepter des e-mails depuis un serveur distant.

Merci à Manuel Lemos et son module (php class) dont le nom pop3.php.

Pour connecter cette catégorie à votre code, il vous suffit d'utiliser la commande include ou require: exiger(“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($l'utilisateur,$accesscode,$apop);
si ($erreur<>«Erreur Mot de passe: Erreur d'ouverture de session: Nom d'utilisateur inconnu ou mauvais mot de passe. ') {echo $error; sortie;}
// Now get the statistic how many emails are stored and the size of them $result=$pop3_connection->Statistics($messages, $size);
écho "$hostname contains  $messages de $size bytes.";

//..... Là, nous pouvons recevoir des e-mails dans le cycle et les analyser .... //

// Si rien à voir - we can close the connection
$error=$pop3_connection->Close(); //
echo $error;
?>

Maintenant nous savons comment se connecter et ouvrir une session sur le serveur POP3 et la façon de demander le numéro de la boîte de réception e-mails et les tailles. Prochain, nous devrions recevoir chaque e-mail et d'analyser les en-têtes et les corps tableau.

À SUIVRE

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

MBOX gratuit à EML Converter

14th Février, 2010

Il est bon que aujourd'hui il ya encore des programmeurs qui écrivent des logiciels excellente sans frais. Ce que je veux parler? Voulez-vous dire comment j'ai trouvé un autre programme pour ma collection de must-have des services publics.

Apple MAC les ordinateurs sont utilisés largement dans nos bureaux. C'est la politique de la société. Malgré la politique de la société, notre patron préfère Windows et utilise son ordinateur portable en vedette. Qui doit enfreindre les règles? Bien sûr, le patron, le reste n'est pas autorisé icon smile Free MBOX to EML Converter Je dois dire que je partage cette préférence, J'ai donc installé Windows 7 à mon ordinateur portable à domicile.

Nos avocats doivent passer quelques enquêtes de temps à autre et qu'ils devraient passer en revue la correspondance de notre personnel, mais ils ont accepté que les fichiers dans le Outlook PST format.

Dans un article précédent J'ai écrit au sujet du programme incroyablement nécessaires Assistant Importation Outlook, qui m'a sauvé beaucoup de temps lors de l'importation de fichiers eml dans Outlook. La tâche que je devais terminer juste me mettre en état de choc. Il est nécessaire de convertir les e-mails de nos employés dans les Perspectives .pst dossier. Comment peut-on concilier les choses incompatibles? Comment combiner MAC OS avec Windows?

Pour commencer, j'ai dû procéder à une vérification et a constaté que nos employés en utilisant différents clients e-mail. Il ya seulement certains d'entre eux: Autoroute à péage, Mac Mail, Entourage, MailCopa, Thunderbird, Eudora, Berkeley Mail. La tâche de conversion ne semble pas réalisable. J'ai décidé que si un moteur de recherche ne prend pas immédiatement m'apporter la solution, alors je vais dire à mon patron que la mission est impossible. Donc, je ne recherche de la phrase “entourage, thunderbird, mail mac, à EML pst mbox libre” et la recherche a été un succès, il s'est avéré quelque chose que je ne m'attendais pas. En outre, le mot GRATUIT ne concorde pas avec moi, avec la tâche que j'avais à faire. Imaginez ma surprise quand sur la page de description de l'autre eml à pst converter, J'ai trouvé l' mbox libre de convertisseur eml.

L'examen de logiciels a montré que malgré le fait que le programme est gratuit, il a l'incroyable potentiel. Néanmoins, les fichiers au format boîte aux lettres des différents programmes varient, le programme a pu identifier avec précision toutes les signatures et les méta reconnaître correctement le format de fichier. Je ne plaisante pas, toutes les boîtes aux lettres des fichiers Autoroute à péage, Mac Mail, Entourage, MailCopa, Thunderbird, Eudora et Berkeley Mail ont été transformées en tableaux de l'e-mail des fichiers dans format EML. Ayant l' Assistant Importation Outlook mes mains me permet d'importer tous les eml dans Outlook PST.

MBOX gratuit à EML Converter fonctionne comme un lot-processeur. D'abord, vous devez sélectionner toutes les mesures nécessaires fichiers mbox à partir de laquelle vous souhaitez récupérer les messages eml. Il est facile de sélectionner tous les fichiers avec les Décalage clé. Après que, vous devez cliquez sur le Traitement bouton, pointer vers le répertoire vide sur votre disque dur et d'attendre le résultat. Le programme de traitement de tous les fichiers de manière séquentielle, Il crée un répertoire pour chaque fichier et de le remplir avec extrait eml. Dans mon cas, j'ai eu beaucoup de fichiers boîte aux lettres qui ont été nommés conformément à l'utilisateur les noms de nos employés. Finalement, j'ai fait beaucoup de dossiers, chacun avait un nom d'utilisateur et contient tous correspondante eml Ce document provient de la boîte aux lettres.

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

La navette spatiale vidéo du début à la fin

25 janvier, 2010

NASA! J'ai trouvé cette vidéo absolument incroyable. Douze minutes d'action de La navette spatiale parties. Début de la Terre et à la mer. caméras espace sur chaque partie de la navette, semble très intéressant. Très belle La navette spatiale vidéo.

STS-129 extraits vidéo tel que compilé par le SE&l'équipe d'imagerie-je ici au JSC de l'ensemble de la terre, air, ET actifs et SRB.

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