<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Atmoner - Développeur en pantoufle</title>
	<atom:link href="http://atmoner.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://atmoner.com</link>
	<description></description>
	<lastBuildDate>Fri, 08 Feb 2013 09:29:07 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Décision de la Cour Européenne des Droits de l&#8217;Homme : les procès pour violation de Copyright contraires aux Droits de l&#8217;Homme</title>
		<link>http://atmoner.com/decision-de-la-cour-europeenne-des-droits-de-lhomme-les-proces-pour-violation-de-copyright-contraires-aux-droits-de-lhomme/</link>
		<comments>http://atmoner.com/decision-de-la-cour-europeenne-des-droits-de-lhomme-les-proces-pour-violation-de-copyright-contraires-aux-droits-de-lhomme/#comments</comments>
		<pubDate>Fri, 08 Feb 2013 09:29:07 +0000</pubDate>
		<dc:creator>atmoner</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Politique]]></category>
		<category><![CDATA[Copyright]]></category>
		<category><![CDATA[DDH]]></category>

		<guid isPermaLink="false">http://atmoner.com/?p=2177</guid>
		<description><![CDATA[La Cour Européenne des Droits de l’Homme n’est pas un organisme à prendre à la légère : ses décisions deviennent partie intégrante de la constitution de quasiment tous les pays européens. Autant dire que la dernière en date devrait faire sauter de joie de nombreux défenseurs pour le partage de la culture, puisque la Cour [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://atmoner.com/wp-content/uploads/2013/02/criminal_justice_jurisprudence.jpg"><img class="size-medium wp-image-2178 alignleft" alt="criminal_justice_jurisprudence" src="http://atmoner.com/wp-content/uploads/2013/02/criminal_justice_jurisprudence-270x300.jpg" width="270" height="300" /></a></p>
<p>La Cour Européenne des Droits de l’Homme n’est pas un organisme à prendre à la légère : ses décisions deviennent partie intégrante de la constitution de quasiment tous les pays européens.</p>
<p>Autant dire que la dernière en date devrait faire sauter de joie de nombreux défenseurs pour le partage de la culture, puisque la Cour a déclaré que <strong>les procès pour violation de Copyright étaient contraires aux Droits de l’Homme</strong>, et qu’ils devaient remplir trois conditions pour être valides.<span id="more-12738"></span></p>
<p>Car il est en effet possible de faire des exceptions aux Droits de l’Homme, mais 3 étapes doivent être scrupuleusement suivies :</p>
<ul>
<li><span style="font-size: 13px; line-height: 19px;">Le verdict doit être une nécessité dans une société démocratique.</span></li>
<li><span style="font-size: 13px; line-height: 19px;">Il doit être prescrit dans la loi (ce qui est déjà le cas pour les violations de Copyright).</span></li>
<li><span style="font-size: 13px; line-height: 19px;">Il doit poursuivre un but légitime (les ayants droit argumenteront sur la nécessité de sauvegarder leurs revenus j’imagine).</span></li>
</ul>
<p>Concrètement cela change quoi ? Cela change le fait qu’il va être bien difficile de continuer de faire des procès pour des téléchargements illégaux sans que les Droits de l’Homme soient respectés.</p>
<p>Il va falloir pour les ayants droit et les traqueurs de pirates (Hadopi si tu nous entends !) démontrer le caractère vital pour une société démocratique de la lutte contre les violations de Copyright au cas par cas pour que des poursuites puissent respecter les Droits de l’Homme européens.</p>
<p>Bonne chance les gars, vous allez vous amuser pour démontrer que le partage de fichiers MP3 est une absolue nécessité dans une société démocratique. C’est pas comme si ça faisait des années que la moitié des français piratent allègrement, je n’ai pas l’impression que notre démocratie se soit effondrée pour autant ^^</p>
<p>Quand on voit <a href="http://www.nikopik.com/2012/12/hadopi-en-train-de-mettre-en-place-la-surveillance-dinternet-en-france-sans-demander-la-moindre-autorisation.html">les projets de surveillance d’Internet et des internautes par la Hadopi</a>, en toute objectivité qu’est-ce qui est le plus susceptible de menacer la démocratie ?</p>
<p><a href="http://www.nikopik.com/2013/02/decision-de-la-cour-europeenne-des-droits-de-lhomme-les-proces-pour-violation-de-copyright-contraires-aux-droits-de-lhomme.html">Source Fr (nikopik)</a><br />
<a href="http://falkvinge.net/2013/02/07/court-of-human-rights-convictions-for-file-sharing-violates-human-rights/">Source En</a></p>
]]></content:encoded>
			<wfw:commentRss>http://atmoner.com/decision-de-la-cour-europeenne-des-droits-de-lhomme-les-proces-pour-violation-de-copyright-contraires-aux-droits-de-lhomme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deux chercheurs analysent les archives du web pour prédire les événements à venir</title>
		<link>http://atmoner.com/deux-chercheurs-analysent-les-archives-du-web-pour-predire-les-evenements-a-venir/</link>
		<comments>http://atmoner.com/deux-chercheurs-analysent-les-archives-du-web-pour-predire-les-evenements-a-venir/#comments</comments>
		<pubDate>Mon, 04 Feb 2013 17:36:23 +0000</pubDate>
		<dc:creator>atmoner</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://atmoner.com/?p=2163</guid>
		<description><![CDATA[Peut-on prédire les événements du futur avec un bon algorithme et (beaucoup) d’analyse de données? C’est l’hypothèse testée par Eric Horvitz, chercheur chez Microsoft, et Kira Radinsky, qui travaille au Technion-Israel Institute de Haïfa, dans leur article «Mining the Web to Predict Future Events», explique le site Gigaom. En compilant les données disponibles à un [...]]]></description>
				<content:encoded><![CDATA[<div id="article_text">
<div id="article_img"><img class="imagecache imagecache-node-lien alignleft" title="Looking through my crystal ball / katerha via Flickr CC Licence By" alt="Looking through my crystal ball / katerha via Flickr CC Licence By" src="http://www.slate.fr/sites/default/files/imagecache/node-lien/boule.jpg" width="200" height="200" /></div>
<p>Peut-on prédire les événements du futur avec un bon algorithme et (beaucoup) d’analyse de données? <a href="http://gigaom.com/2013/02/01/how-two-scientists-are-using-the-new-york-times-archives-to-predict-the-future/">C’est l’hypothèse testée</a> par Eric Horvitz, chercheur chez Microsoft, et Kira Radinsky, qui travaille au Technion-Israel Institute de Haïfa, dans leur article <a href="http://research.microsoft.com/en-us/um/people/horvitz/future_news_wsdm.pdf">«Mining the Web to Predict Future Events»</a>, explique le site Gigaom.</p>
<p>En compilant les données disponibles à un instant <em>t</em>, on devrait pouvoir générer des alertes concernant par exemple les maladies ou les manifestations à venir, pensent les auteurs. Les deux chercheurs ont donc expérimenté leur idée sur 22 années d’archives du New York Times, de 1986 à 2007, pour tester sa validité.</p>
<p>L’expérience consiste à observer si un certain type de menace survient dans le cadre d’une chaîne d’événements précise, par exemple en cherchant les mot-clé «malaria» ou «choléra». Or, en suivant les articles de presse sur les catastrophes naturelles comme les tempêtes ou les sécheresses, on aurait pu prévoir un an en amont une recrudescence du choléra en Angola, écrivent les deux chercheurs.</p>
<p>Autre exemple parlant dans le domaine du maintien de l’ordre, celui de la prédiction des manifestations et protestations. Plusieurs cas impliquant la mort d’un innocent par la police dans un quartier à forte population immigrée ont permis aux auteurs de relier certains événements (les funérailles, le procès des policiers, etc.) à des protestations ou émeutes.</p>
<p class="rtecenter"><a href="http://research.microsoft.com/en-us/um/people/horvitz/future_news_wsdm.pdf"><img class="doksoft_image_img aligncenter" style="height: 181px; width: 460px;" alt="" src="http://www.slate.fr/sites/default/files/photos/Capture%20d%E2%80%99e%CC%81cran%202013-02-04%20a%CC%80%2010.13.36.png" /></a></p>
<h5 class="rtecenter"><em>Des exemples de chaînes d&rsquo;événements identifiées par les auteurs.</em></h5>
<p>Ces usages prédictifs de l’informatique se multiplient de par le monde. <a href="http://www.technologyreview.com/news/510191/software-predicts-tomorrows-news-by-analyzing-todays-and-yesterdays/">La start-up Recorded Future propose déjà un service de ce type</a> à ses clients, parmi lesquels des agences gouvernementales américaines, écrit Technology Review.</p>
<p>Les policiers de Los Angeles utilisent eux un logiciel analysant les archives des actes de délinquance, qui leur indique <a href="http://www.slate.fr/lien/59205/programme-predpol-minority-report">les zones dans lesquelles patrouiller en priorité</a>, avec un certain succès.</p>
<p>IBM a récemment annoncé que le style steam punk <a href="http://www.slate.fr/lien/67421/steampunk-tendance-majeure-ibm">allait devenir une mode majeure des années à venir</a>, en compilant des sources en ligne et notamment des discussions sur les réseaux socio-numériques. Et des chercheurs britanniques ont quant à eux créé un algorithme pour prédire où vous vous trouverez dans 24 heures… <a href="http://www.slate.fr/lien/60475/telephones-suivi-deplacements">à l’aide des données de tracking (suivi géographique) de votre téléphone mobile</a>. Leur marge d’erreur? Environ 20 mètres.</p>
<div class="lien_legende">Source: <a title="slate.fr" href="http://www.slate.fr/lien/67943/data-mining-prediction-web" target="_blank">http://www.slate.fr/lien/67943/data-mining-prediction-web</a></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://atmoner.com/deux-chercheurs-analysent-les-archives-du-web-pour-predire-les-evenements-a-venir/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter attaqué : fuite de données pour 250 000 comptes</title>
		<link>http://atmoner.com/twitter-attaque-fuite-de-donnees-pour-250-000-comptes/</link>
		<comments>http://atmoner.com/twitter-attaque-fuite-de-donnees-pour-250-000-comptes/#comments</comments>
		<pubDate>Sun, 03 Feb 2013 07:22:51 +0000</pubDate>
		<dc:creator>atmoner</dc:creator>
				<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://atmoner.com/?p=2156</guid>
		<description><![CDATA[Twitter vient d&#8217;annoncer qu&#8217;il avait été la cible d&#8217;une attaque ces derniers jours, menant à la fuite d&#8217;informations concernant 250 000 comptes d&#8217;utilisateurs. Par sécurité, les accès de ces derniers ont été réinitialisés, si vous êtes concernés, vous devriez recevoir un mail détaillant la procédure à suivre. Bob Lord, qui travaille au sein de l&#8217;équipe [...]]]></description>
				<content:encoded><![CDATA[<p class="actu_chapeau"><a href="http://atmoner.com/wp-content/uploads/2013/02/medium-124495.png"><img class="size-medium wp-image-2157 alignleft" alt="medium-124495" src="http://atmoner.com/wp-content/uploads/2013/02/medium-124495-300x109.png" width="300" height="109" /></a></p>
<p class="actu_chapeau">Twitter <a href="http://blog.twitter.com/2013/02/keeping-our-users-secure.html" target="_blank">vient d&rsquo;annoncer</a> qu&rsquo;il avait été la cible d&rsquo;une attaque ces derniers jours, menant à la fuite d&rsquo;informations concernant 250 000 comptes d&rsquo;utilisateurs. Par sécurité, les accès de ces derniers ont été réinitialisés, si vous êtes concernés, vous devriez recevoir un mail détaillant la procédure à suivre.</p>
<p>Bob Lord, qui travaille au sein de l&rsquo;équipe dédiée à la sécurité de Twitter, vient de se fendre d&rsquo;un billet sur le blog du service de micro-blogging. Il indique que ses collègues ont détecté des tentatives d&rsquo;accès aux données utilisateurs cette semaine, dont une qu&rsquo;ils ont pu interrompre en pleine exécution. Pour autant, une fuite d&rsquo;information a été découverte.</p>
<p>&nbsp;</p>
<p>Des pseudos, adresses e-mail, tokens de session et une version chiffrée (avec une composante aléatoire, le <a href="http://en.wikipedia.org/wiki/Salt_%28cryptography%29" target="_blank"><em>salt</em></a>) du mot de passe ont été récupérés. Ainsi, le mot de passe lui-même ne devrait pas pouvoir être découvert par les attaquants, mais par sécurité Twitter a tout de même réinitialisé les données de connexion des 250 000 comptes concernés. Les utilisateurs touchés sont contactés par courriel afin de leur indiquer la procédure à suivre.</p>
<p>Selon l&rsquo;équipe du site, ce n&rsquo;était pas l&rsquo;oeuvre d&rsquo;amateurs, et ils pensent ne pas se trouver face à une tentative isolée, d&rsquo;autres sociétés pourraient faire face à des attaques similaires. Les autorités compétentes ont été contactées afin de donner une suite à cette affaire.</p>
<p>&nbsp;</p>
<p>Twitter en profite pour rappeler l&rsquo;importance du choix d&rsquo;un mot de passe fort (au moins 10 caractères, un mélange alphanumérique contenant des symboles et jouant sur les majuscules minuscules, même si cette définition ne fait pas consensus), qui ne soit pas le même pour l&rsquo;ensemble des services que vous utilisez.</p>
]]></content:encoded>
			<wfw:commentRss>http://atmoner.com/twitter-attaque-fuite-de-donnees-pour-250-000-comptes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Des images de centaines de caméras privées visibles en direct sur le Net</title>
		<link>http://atmoner.com/des-images-de-centaines-de-cameras-privees-visibles-en-direct-sur-le-net/</link>
		<comments>http://atmoner.com/des-images-de-centaines-de-cameras-privees-visibles-en-direct-sur-le-net/#comments</comments>
		<pubDate>Thu, 24 Jan 2013 13:21:37 +0000</pubDate>
		<dc:creator>atmoner</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[securité]]></category>

		<guid isPermaLink="false">http://atmoner.com/?p=2145</guid>
		<description><![CDATA[HIGH TECH &#8211; Une faille dans le système de sécurité des caméras de surveillance de la société Trendnet permet à n&#8217;importe qui d&#8217;espionner des personnes à leur insu, via les caméras connectées qu&#8217;elles ont installées chez elles&#8230; Pourtant signalée par le blog Console Cowboys il y a un an, une énorme faille de sécurité menace [...]]]></description>
				<content:encoded><![CDATA[<h2><a href="http://atmoner.com/des-images-de-centaines-de-cameras-privees-visibles-en-direct-sur-le-net/article_trendnet/" rel="attachment wp-att-2146"><img class="size-medium wp-image-2146 alignleft" alt="article_trendnet" src="http://atmoner.com/wp-content/uploads/2013/01/article_trendnet-300x194.jpg" width="300" height="194" /></a></h2>
<h2>HIGH TECH &#8211; Une faille dans le système de sécurité des caméras de surveillance de la société Trendnet permet à n&rsquo;importe qui d&rsquo;espionner des personnes à leur insu, via les caméras connectées qu&rsquo;elles ont installées chez elles&#8230;</h2>
<p>Pourtant <a href="http://console-cowboys.blogspot.fr/2012/01/trendnet-cameras-i-always-feel-like.html" target="_blank" rel="nofollow">signalée par le blog Console Cowboys il y a un an</a>, une énorme faille de sécurité menace toujours la vie privée des possesseurs de caméras de surveillance Trendnet. Au lieu de fonctionner en circuit privé, certaines d’entre elles diffusent les images qu’elles filment sur la Toile en temps réel. Plus grave encore, n’importe qui peut obtenir l’adresse informatique de ces caméras et ainsi espionner ceux qui sont filmés.  En résumé, si vous utilisez l’une de ces caméras pour surveiller votre domicile, votre voisin peut vous voir avachi le mardi soir devant «Nouvelle Star» ou  regarder votre bébé en train de dormir dans son berceau. Du pain béni, en passant, pour d’éventuels cambrioleurs.</p>
<p><a href="http://www.theverge.com/2013/1/22/3902698/trendnet-security-camera-streams-mapped-out" target="_blank" rel="nofollow">Le site spécialisé The Verge</a> a tiré une nouvelle fois la sonnette d’alarme cette semaine. Après le premier article publié sur Console Cowboys en 2012 pour signaler le problème, Trendnet avait proposé une mise à jour du logiciel et un correctif pour bloquer l’accès aux images. Mais des internautes ont constaté que des individus continuent à être filmés en permanence et à leur insu. Tout y passe: de la petite boutique d’électronique du coin à des employés de bureau, en passant par des personnes qui se baladent en peignoir chez elles. Le site spécialisé Génération-NT a publié <a href="http://www.generation-nt.com/zoom-1217381,1539071-trendnet-faille-cameras-ip.html" target="_blank" rel="nofollow">une mosaïque de captures d’écran</a> anonymisées.</p>
<p><b>Un compte <span class="mn-topic-link">Twitter</span> diffuse les flux des caméras affectées pour «alerter» </b></p>
<p>Pour avertir les internautes, <a href="http://www.networkworld.com/" target="_blank" rel="nofollow">Network World</a> a publié une <a class="mn-topic-link" href="http://www.20minutes.fr/thematique/google">Google</a> Map localisant une centaine de caméras  dans le monde &#8211; la France est loin d’être épargnée -. En cliquant sur un point donné, il est possible de voir les images correspondantes, filmées en temps réel.  Si <span class="mn-topic-link">Google</span> a supprimé la carte mercredi parce qu’elle ne respectait pas les «droits relatifs à la vie privée et à l&rsquo;image», le compte <span class="mn-topic-link">Twitter</span> @TRENDnetExposed continue le travail. Des liens vers des caméras «piratées»  sont publiés chaque jour sur le site de micro-blogging. «Nous voulons alerter les gens sur ce problème. Nous continuerons à repérer et diffuser les caméras affectées», indique l’auteur du compte .</p>
<p>Mardi, Trendnet <a href="http://www.trendnet.com/press/view.asp?id=2338" target="_blank" rel="nofollow">a réagi dans un communiqué</a>. La société jure, comme il y a un an, de faire tout son possible pour réparer son erreur. Elle insiste sur le fait qu’elle a prévenu ses clients depuis. Sauf que de nombreux utilisateurs de ses caméras n’ont pas souhaité s’enregistrer avec leurs coordonnées au moment de l’achat et n’ont donc pas pu être contactés. Combien d’entre eux ignorent encore que leur vie privée ne l’est plus depuis longtemps?</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://atmoner.com/des-images-de-centaines-de-cameras-privees-visibles-en-direct-sur-le-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>15 fragments de code PHP très utile</title>
		<link>http://atmoner.com/15-fragments-de-code-php-tres-utile/</link>
		<comments>http://atmoner.com/15-fragments-de-code-php-tres-utile/#comments</comments>
		<pubDate>Wed, 16 Jan 2013 20:33:02 +0000</pubDate>
		<dc:creator>atmoner</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[snippet]]></category>

		<guid isPermaLink="false">http://atmoner.com/?p=2136</guid>
		<description><![CDATA[&#160; &#160; 1. Envoyer un email en utilisant la fonction mail de PHP 1234567891011&#60;?php $to = &#34;yourmail@gmail.com&#34;; $subject = &#34;atmoner.com&#34;; $body = &#34;Body of your message here you can use HTML too. e.g. &#60;br&#62; &#60;b&#62; Bold &#60;/b&#62;&#34;; $headers = &#34;From: Peter\r\n&#34;; $headers .= &#34;Reply-To: info@yoursite.com\r\n&#34;; $headers .= &#34;Return-Path: info@yoursite.com\r\n&#34;; $headers .= &#34;X-Mailer: PHP5\n&#34;; $headers .= [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://atmoner.com/wp-content/uploads/2013/01/code_snippet2-640x250.png"><img class="size-medium wp-image-2108 alignleft" title="m_saad_siddiqui_php_gtk_comment3" alt="" src="http://atmoner.com/wp-content/uploads/2013/01/code_snippet2-640x250.png" width="685" height="244" /></a><br />
&nbsp;</p>
<p>&nbsp;</p>
<h3>1. Envoyer un email en utilisant la fonction mail de PHP</h3>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #000088;">$to</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;yourmail@gmail.com&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$subject</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;atmoner.com&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$body</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Body of your message here you can use HTML too. e.g. &lt;br&gt; &lt;b&gt; Bold &lt;/b&gt;&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$headers</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;From: Peter<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$headers</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;Reply-To: info@yoursite.com<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$headers</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;Return-Path: info@yoursite.com<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$headers</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;X-Mailer: PHP5<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$headers</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'MIME-Version: 1.0'</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$headers</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'Content-type: text/html; charset=iso-8859-1'</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
<a href="http://www.php.net/mail"><span style="color: #990000;">mail</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$to</span><span style="color: #339933;">,</span><span style="color: #000088;">$subject</span><span style="color: #339933;">,</span><span style="color: #000088;">$body</span><span style="color: #339933;">,</span><span style="color: #000088;">$headers</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<h3>2. Coder et décoder Base64 les chaînes en PHP</h3>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">function</span> base64url_encode<span style="color: #009900;">&#40;</span><span style="color: #000088;">$plainText</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$base64</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/base64_encode"><span style="color: #990000;">base64_encode</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$plainText</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$base64url</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/strtr"><span style="color: #990000;">strtr</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$base64</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'+/='</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'-_,'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$base64url</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
&nbsp;<br />
<span style="color: #000000; font-weight: bold;">function</span> base64url_decode<span style="color: #009900;">&#40;</span><span style="color: #000088;">$plainText</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$base64url</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/strtr"><span style="color: #990000;">strtr</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$plainText</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'-_,'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'+/='</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$base64</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/base64_decode"><span style="color: #990000;">base64_decode</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$base64url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$base64</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<h3>3. Récuperer l&rsquo;adresse IP en PHP</h3>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">function</span> getRemoteIPAddress<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$ip</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$ip</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>Le code ci-dessus ne fonctionne pas dans le cas où votre client est derrière un serveur proxy. Dans ce cas, utilisez la fonction ci-dessous pour obtenir l&rsquo;adresse IP réelle du client.</p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">function</span> getRealIPAddr<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><a href="http://www.php.net/empty"><span style="color: #990000;">empty</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_CLIENT_IP'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> &nbsp; <span style="color: #666666; font-style: italic;">//check ip from share internet</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$ip</span><span style="color: #339933;">=</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_CLIENT_IP'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><a href="http://www.php.net/empty"><span style="color: #990000;">empty</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED_FOR'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> &nbsp; <span style="color: #666666; font-style: italic;">//to check ip is pass from proxy</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$ip</span><span style="color: #339933;">=</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED_FOR'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">else</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$ip</span><span style="color: #339933;">=</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$ip</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<h3>4. Secondes string</h3>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">function</span> secsToStr<span style="color: #009900;">&#40;</span><span style="color: #000088;">$secs</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$secs</span><span style="color: #339933;">&gt;=</span><span style="color: #cc66cc;">86400</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$days</span><span style="color: #339933;">=</span><a href="http://www.php.net/floor"><span style="color: #990000;">floor</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$secs</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">86400</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000088;">$secs</span><span style="color: #339933;">=</span><span style="color: #000088;">$secs</span><span style="color: #339933;">%</span><span style="color:#800080;">86400</span><span style="color: #339933;">;</span><span style="color: #000088;">$r</span><span style="color: #339933;">=</span><span style="color: #000088;">$days</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' day'</span><span style="color: #339933;">;</span><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$days</span><span style="color: #339933;">&lt;&gt;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$r</span><span style="color: #339933;">.=</span><span style="color: #0000ff;">'s'</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$secs</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$r</span><span style="color: #339933;">.=</span><span style="color: #0000ff;">', '</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$secs</span><span style="color: #339933;">&gt;=</span><span style="color: #cc66cc;">3600</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$hours</span><span style="color: #339933;">=</span><a href="http://www.php.net/floor"><span style="color: #990000;">floor</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$secs</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">3600</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000088;">$secs</span><span style="color: #339933;">=</span><span style="color: #000088;">$secs</span><span style="color: #339933;">%</span><span style="color:#800080;">3600</span><span style="color: #339933;">;</span><span style="color: #000088;">$r</span><span style="color: #339933;">.=</span><span style="color: #000088;">$hours</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' hour'</span><span style="color: #339933;">;</span><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hours</span><span style="color: #339933;">&lt;&gt;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$r</span><span style="color: #339933;">.=</span><span style="color: #0000ff;">'s'</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$secs</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$r</span><span style="color: #339933;">.=</span><span style="color: #0000ff;">', '</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$secs</span><span style="color: #339933;">&gt;=</span><span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$minutes</span><span style="color: #339933;">=</span><a href="http://www.php.net/floor"><span style="color: #990000;">floor</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$secs</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000088;">$secs</span><span style="color: #339933;">=</span><span style="color: #000088;">$secs</span><span style="color: #339933;">%</span><span style="color:#800080;">60</span><span style="color: #339933;">;</span><span style="color: #000088;">$r</span><span style="color: #339933;">.=</span><span style="color: #000088;">$minutes</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' minute'</span><span style="color: #339933;">;</span><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$minutes</span><span style="color: #339933;">&lt;&gt;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$r</span><span style="color: #339933;">.=</span><span style="color: #0000ff;">'s'</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$secs</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$r</span><span style="color: #339933;">.=</span><span style="color: #0000ff;">', '</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$r</span><span style="color: #339933;">.=</span><span style="color: #000088;">$secs</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' second'</span><span style="color: #339933;">;</span><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$secs</span><span style="color: #339933;">&lt;&gt;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$r</span><span style="color: #339933;">.=</span><span style="color: #0000ff;">'s'</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$r</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<h3>5. Email validation en PHP</h3>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000088;">$email</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'email'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><a href="http://www.php.net/preg_match"><span style="color: #990000;">preg_match</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;~([a-zA-Z0-9!#$%&amp;amp;'*+-/=?^_`{|}~])@([a-zA-Z0-9-]).([a-zA-Z0-9]{2,4})~&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$email</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'This is a valid email.'</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'This is an invalid email.'</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<h3>6. Analyser un document XML de manière simple en utilisant PHP</h3>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">//this is a sample xml string<br />
$xml_string=&quot;<span style="color: #000000; font-weight: bold;">&lt;?</span>xml version<span style="color: #339933;">=</span><span style="color: #0000ff;">'1.0'</span><span style="color: #000000; font-weight: bold;">?&gt;</span><br />
&lt;moleculedb&gt;<br />
&nbsp; &nbsp; &lt;molecule name='Benzine'&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;symbol&gt;ben&lt;/symbol&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;code&gt;A&lt;/code&gt;<br />
&nbsp; &nbsp; &lt;/molecule&gt;<br />
&nbsp; &nbsp; &lt;molecule name='Water'&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;symbol&gt;h2o&lt;/symbol&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;code&gt;K&lt;/code&gt;<br />
&nbsp; &nbsp; &lt;/molecule&gt;<br />
&lt;/moleculedb&gt;&quot;;<br />
&nbsp;<br />
//load the xml string using simplexml function<br />
$xml = simplexml_load_string($xml_string);<br />
&nbsp;<br />
//loop through the each node of molecule<br />
foreach ($xml-&gt;molecule as $record)<br />
{<br />
&nbsp; &nbsp;//attribute are accessted by<br />
&nbsp; &nbsp;echo $record['name'], ' &nbsp;';<br />
&nbsp; &nbsp;//node are accessted by -&gt; operator<br />
&nbsp; &nbsp;echo $record-&gt;symbol, ' &nbsp;';<br />
&nbsp; &nbsp;echo $record-&gt;code, '&lt;br /&gt;';<br />
}</div></td></tr></tbody></table></div>
<h3>7. Connexion base de données en PHP</h3>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><a href="http://www.php.net/basename"><span style="color: #990000;">basename</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <a href="http://www.php.net/basename"><span style="color: #990000;">basename</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_SELF'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> send_404<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$dbHost</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;localhost&quot;</span><span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #666666; font-style: italic;">//Location Of Database usually its localhost</span><br />
<span style="color: #000088;">$dbUser</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;xxxx&quot;</span><span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #666666; font-style: italic;">//Database User Name</span><br />
<span style="color: #000088;">$dbPass</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;xxxx&quot;</span><span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #666666; font-style: italic;">//Database Password</span><br />
<span style="color: #000088;">$dbDatabase</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;xxxx&quot;</span><span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">//Database Name</span><br />
&nbsp;<br />
<span style="color: #000088;">$db</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/mysql_connect"><span style="color: #990000;">mysql_connect</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$dbHost</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$dbUser</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$dbPass</span>&quot;</span><span style="color: #009900;">&#41;</span> or <a href="http://www.php.net/die"><span style="color: #990000;">die</span></a> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Error connecting to database.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<a href="http://www.php.net/mysql_select_db"><span style="color: #990000;">mysql_select_db</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$dbDatabase</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$db</span><span style="color: #009900;">&#41;</span> or <a href="http://www.php.net/die"><span style="color: #990000;">die</span></a> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Couldn't select the database.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp;<br />
<span style="color: #666666; font-style: italic;"># This function will send an imitation 404 page if the user<br />
</span><span style="color: #666666; font-style: italic;"># types in this files filename into the address bar.<br />
</span><span style="color: #666666; font-style: italic;"># only files connecting with in the same directory as this<br />
</span><span style="color: #666666; font-style: italic;"># file will be able to use it as well.<br />
</span><span style="color: #000000; font-weight: bold;">function</span> send_404<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/header"><span style="color: #990000;">header</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP/1.x 404 Not Found'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">print</span> <span style="color: #0000ff;">'&lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML 2.0//EN&quot;&gt;'</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;n&quot;</span><span style="color: #339933;">.</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">'&lt;html&gt;&lt;head&gt;'</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;n&quot;</span><span style="color: #339933;">.</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">'&lt;title&gt;404 Not Found&lt;/title&gt;'</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;n&quot;</span><span style="color: #339933;">.</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">'&lt;/head&gt;&lt;body&gt;'</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;n&quot;</span><span style="color: #339933;">.</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">'&lt;h1&gt;Not Found&lt;/h1&gt;'</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;n&quot;</span><span style="color: #339933;">.</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">'&lt;p&gt;The requested URL '</span><span style="color: #339933;">.</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/str_replace"><span style="color: #990000;">str_replace</span></a><span style="color: #009900;">&#40;</span><a href="http://www.php.net/strstr"><span style="color: #990000;">strstr</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REQUEST_URI'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'?'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REQUEST_URI'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">' was not found on this server.&lt;/p&gt;'</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;n&quot;</span><span style="color: #339933;">.</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">'&lt;/body&gt;&lt;/html&gt;'</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;n&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/exit"><span style="color: #990000;">exit</span></a><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
&nbsp;<br />
<span style="color: #666666; font-style: italic;"># In any file you want to connect to the database,<br />
</span><span style="color: #666666; font-style: italic;"># and in this case we will name this file db.php<br />
</span><span style="color: #666666; font-style: italic;"># just add this line of php code (without the pound sign):<br />
</span><span style="color: #666666; font-style: italic;"># include&quot;db.php&quot;;</span></div></td></tr></tbody></table></div>
<h3>8. Création et analyse des données JSON en PHP</h3>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000088;">$json_data</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'id'</span><span style="color: #339933;">=&gt;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'name'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">&quot;rolf&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'country'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'russia'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;office&quot;</span><span style="color: #339933;">=&gt;</span><a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;google&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;oracle&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">echo</span> <a href="http://www.php.net/json_encode"><span style="color: #990000;">json_encode</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$json_data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Après code analyser les données JSON dans des tableaux PHP.</p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000088;">$json_string</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'{&quot;id&quot;:1,&quot;name&quot;:&quot;rolf&quot;,&quot;country&quot;:&quot;russia&quot;,&quot;office&quot;:[&quot;google&quot;,&quot;oracle&quot;]} '</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$obj</span><span style="color: #339933;">=</span><a href="http://www.php.net/json_decode"><span style="color: #990000;">json_decode</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$json_string</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #666666; font-style: italic;">//print the parsed data</span><br />
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$obj</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//displays rolf</span><br />
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$obj</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">office</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//displays google</span></div></td></tr></tbody></table></div>
<h3>9. Processus de MySQL en PHP Timestamp</h3>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000088;">$query</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;select UNIX_TIMESTAMP(date_field) as mydate from mytable where 1=1&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$records</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/mysql_query"><span style="color: #990000;">mysql_query</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span><span style="color: #009900;">&#41;</span> or <a href="http://www.php.net/die"><span style="color: #990000;">die</span></a><span style="color: #009900;">&#40;</span><a href="http://www.php.net/mysql_error"><span style="color: #990000;">mysql_error</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/mysql_fetch_array"><span style="color: #990000;">mysql_fetch_array</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$records</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$row</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<h3>10. Générer un code d&rsquo;authentification en PHP</h3>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;"># This particular code will generate a random string<br />
</span><span style="color: #666666; font-style: italic;"># that is 25 charicters long 25 comes from the number<br />
</span><span style="color: #666666; font-style: italic;"># that is in the for loop<br />
</span><span style="color: #000088;">$string</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;abcdefghijklmnopqrstuvwxyz0123456789&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><span style="color: #000088;">$i</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">25</span><span style="color: #339933;">;</span><span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$pos</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/rand"><span style="color: #990000;">rand</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">36</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$str</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$string</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$pos</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$str</span><span style="color: #339933;">;</span><br />
<span style="color: #666666; font-style: italic;"># If you have a database you can save the string in<br />
</span><span style="color: #666666; font-style: italic;"># there, and send the user an email with the code in<br />
</span><span style="color: #666666; font-style: italic;"># it they then can click a link or copy the code<br />
</span><span style="color: #666666; font-style: italic;"># and you can then verify that that is the correct email<br />
</span><span style="color: #666666; font-style: italic;"># or verify what ever you want to verify</span></div></td></tr></tbody></table></div>
<h3>11. Validation format de date en PHP</h3>
<p>Validation de la date au format “YYYY-MM-DD”.</p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">function</span> checkDateFormat<span style="color: #009900;">&#40;</span><span style="color: #000088;">$date</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">//match the format of the date</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/preg_match"><span style="color: #990000;">preg_match</span></a> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$date</span><span style="color: #339933;">,</span> <span style="color: #000088;">$parts</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">//check weather the date is valid of not</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><a href="http://www.php.net/checkdate"><span style="color: #990000;">checkdate</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$parts</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$parts</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$parts</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<h3>12. HTTP Redirection en PHP</h3>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; <a href="http://www.php.net/header"><span style="color: #990000;">header</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Location: http://you_stuff/url.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// stick your url here</span></div></td></tr></tbody></table></div>
<h3>13. Liste du répertoire en PHP</h3>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">function list_files($dir)<br />
{<br />
&nbsp; &nbsp; if(is_dir($dir))<br />
&nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; if($handle = opendir($dir))<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; while(($file = readdir($handle)) !== false)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if($file != &quot;.&quot; &amp;amp;&amp;amp; $file != &quot;..&quot; &amp;amp;&amp;amp; $file != &quot;Thumbs.db&quot;/*pesky windows, images..*/)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo '&lt;a target=&quot;_blank&quot; href=&quot;'.$dir.$file.'&quot;&gt;'.$file.'&lt;/a&gt;&lt;br&gt;'.&quot;\n&quot;;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; closedir($handle);<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; }<br />
}<br />
&nbsp;<br />
/*<br />
To use:<br />
&nbsp; <br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
&nbsp; &nbsp; list_files<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;images/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span><br />
*/</div></td></tr></tbody></table></div>
<h3>14. Script de détection du navigateur en PHP</h3>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; <span style="color: #000088;">$useragent</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span> <span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_USER_AGENT'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;b&gt;Your User Agent is&lt;/b&gt;: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$useragent</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<h3>15. Décompresser un fichier ZIP en PHP</h3>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; &nbsp;function unzip($location,$newLocation){<br />
&nbsp; &nbsp; &nbsp; &nbsp; if(exec(&quot;unzip $location&quot;,$arr)){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mkdir($newLocation);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for($i = 1;$i&lt; count($arr);$i++){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $file = trim(preg_replace(&quot;~inflating: ~&quot;,&quot;&quot;,$arr[$i]));<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; copy($location.'/'.$file,$newLocation.'/'.$file);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; unlink($location.'/'.$file);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return TRUE;<br />
&nbsp; &nbsp; &nbsp; &nbsp; }else{<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return FALSE;<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; }<br />
?&gt;<br />
//Use the code as following:<br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #b1b100;">include</span> <span style="color: #0000ff;">'functions.php'</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>unzip<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'zipedfiles/test.zip'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'unziped/myNewZip'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Success!'</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">else</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Error'</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss>http://atmoner.com/15-fragments-de-code-php-tres-utile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced

 Served from: atmoner.com @ 2013-06-19 08:57:16 by W3 Total Cache -->