{"id":100,"date":"2012-06-05T19:57:34","date_gmt":"2012-06-05T19:57:34","guid":{"rendered":"http:\/\/blog.asafety.fr\/?p=100"},"modified":"2015-11-10T22:49:42","modified_gmt":"2015-11-10T20:49:42","slug":"php-script-detecteur-dindex-of-et-creation-automatique","status":"publish","type":"post","link":"https:\/\/www.asafety.fr\/en\/projects-and-tools\/php-script-detecteur-dindex-of-et-creation-automatique\/","title":{"rendered":"[PHP] Script d\u00e9tecteur d&#8217;Index of et cr\u00e9ation automatique"},"content":{"rendered":"<p><\/p>\n<p><p>Une \u00e9tape relativement longue et redondante lors de la conception et\u00a0d\u00e9veloppement d&#8217;une application web consiste \u00e0 parcourir tous les r\u00e9pertoires de l&#8217;application pour v\u00e9rifier s&#8217;il y avait bien un fichier &#8220;index&#8221; dedans (afin d&#8217;\u00e9viter les IndexOf, de voir les banni\u00e8res du serveur etc&#8230;).<\/p>\n<p>Il m&#8217;a donc \u00e9t\u00e9 n\u00e9cessaire de cr\u00e9er ce petit script tout b\u00eate, qui parcoure r\u00e9cursivement un r\u00e9pertoire donn\u00e9, analyse tous les sous-r\u00e9pertoires en indiquant lesquels sont dot\u00e9s d&#8217;un fichier &#8220;index&#8221;, et si le r\u00e9pertoire n&#8217;en poss\u00e8de pas, le script permet d&#8217;en cr\u00e9er un de votre choix et automatiquement dans le r\u00e9pertoire concern\u00e9.<\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;!DOCTYPE\u00a0html\u00a0PUBLIC\u00a0&amp;amp;amp;amp;amp;quot;-\/\/W3C\/\/DTD\u00a0XHTML\u00a01.0\u00a0Strict\/\/EN&amp;amp;amp;amp;amp;quot;\u00a0&amp;amp;amp;amp;amp;quot;http:\/\/www.w3.org\/TR\/xhtml1\/DTD\/xhtml1-transitional.dtd&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;html\u00a0xmlns=&amp;amp;amp;amp;amp;quot;http:\/\/www.w3.org\/1999\/xhtml&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;head&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;style&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n*{&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nfont-family:verdana;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nfont-size:10px;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n}&amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;lt;p&amp;amp;amp;amp;gt;.error{&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nfont-weight:bold;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\ncolor:#AA0000;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n}&amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;lt;p&amp;amp;amp;amp;gt;.success{&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nfont-weight:bold;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\ncolor:#00AA00;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n}&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;\/style&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;\/head&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;body&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;form\u00a0action=&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;quot;\u00a0method=&amp;amp;amp;amp;amp;quot;post&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;table&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;tr&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;td&amp;amp;amp;amp;amp;gt;Absolute\u00a0path\u00a0to\u00a0analyze\u00a0:&amp;amp;amp;amp;amp;lt;\/td&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;td&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;input\u00a0type=&amp;amp;amp;amp;amp;quot;text&amp;amp;amp;amp;amp;quot;\u00a0name=&amp;amp;amp;amp;amp;quot;path&amp;amp;amp;amp;amp;quot;\u00a0size=&amp;amp;amp;amp;amp;quot;100&amp;amp;amp;amp;amp;quot;\u00a0value=&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;lt;?php\u00a0echo\u00a0$_SERVER[&amp;amp;amp;amp;amp;quot;DOCUMENT_ROOT&amp;amp;amp;amp;amp;quot;];?&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;quot;\u00a0\/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;\/td&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;\/tr&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;\/table&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;input\u00a0type=&amp;amp;amp;amp;amp;quot;submit&amp;amp;amp;amp;amp;quot;\u00a0value=&amp;amp;amp;amp;amp;quot;Run&amp;amp;amp;amp;amp;quot;\u00a0\/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;\/form&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;lt;p&amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;lt;p&amp;amp;amp;amp;gt;function\u00a0printDirectory($folder,\u00a0$indexExists){&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\necho\u00a0&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;lt;li\u00a0class=&#8217;&amp;amp;amp;amp;amp;quot;\u00a0.\u00a0((!$indexExists)\u00a0?\u00a0&amp;amp;amp;amp;amp;quot;error&amp;amp;amp;amp;amp;quot;\u00a0:\u00a0&amp;amp;amp;amp;amp;quot;success&amp;amp;amp;amp;amp;quot;)\u00a0.\u00a0&amp;amp;amp;amp;amp;quot;&#8217;&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;input\u00a0type=&#8217;checkbox&#8217;\u00a0value=&#8217;$folder&#8217;\u00a0name=&#8217;folders[]&#8217;\u00a0&amp;amp;amp;amp;amp;quot;\u00a0.\u00a0((!$indexExists)\u00a0?\u00a0&amp;amp;amp;amp;amp;quot;checked&amp;amp;amp;amp;amp;quot;\u00a0:\u00a0&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;quot;)\u00a0.\u00a0&amp;amp;amp;amp;amp;quot;\/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n$folder&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;\/li&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n}&amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;lt;p&amp;amp;amp;amp;gt;function\u00a0fileWalker($luke){&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n$dp\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0@opendir($luke)\u00a0or\u00a0die(&amp;amp;amp;amp;amp;quot;Directory\u00a0$luke\u00a0doesn&#8217;t\u00a0exist&#8230;&amp;amp;amp;amp;amp;quot;);&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n$indexExists\u00a0\u00a0=\u00a0false;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n$folders\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0array();&amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;lt;p&amp;amp;amp;amp;gt;while($file\u00a0\u00a0=\u00a0@readdir($dp)){&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nif(in_array($file,\u00a0array(&amp;amp;amp;amp;amp;quot;.&amp;amp;amp;amp;amp;quot;,\u00a0&amp;amp;amp;amp;amp;quot;..&amp;amp;amp;amp;amp;quot;,\u00a0&amp;amp;amp;amp;amp;quot;.svn&amp;amp;amp;amp;amp;quot;)))\u00a0continue;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nif(is_dir($luke.&#8217;\/&#8217;.$file))&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n$folders[]\u00a0=\u00a0$luke.&#8217;\/&#8217;.$file;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nelse\u00a0{&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nif(preg_match(&amp;amp;amp;amp;amp;quot;\/^index\\.(php|html|htm)$\/i&amp;amp;amp;amp;amp;quot;,\u00a0$file))&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n$indexExists\u00a0=\u00a0true;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n}&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n}&amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;lt;p&amp;amp;amp;amp;gt;printDirectory($luke,\u00a0$indexExists);&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n@closedir($dp);&amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;lt;p&amp;amp;amp;amp;gt;foreach($folders\u00a0as\u00a0$folder){&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\necho\u00a0&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;lt;ul&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nfileWalker($folder);&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\necho\u00a0&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;lt;\/ul&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n}&amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;lt;p&amp;amp;amp;amp;gt;}&amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;lt;p&amp;amp;amp;amp;gt;if(isset($_POST[&amp;amp;amp;amp;amp;quot;path&amp;amp;amp;amp;amp;quot;])){&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\necho\u00a0&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;lt;form\u00a0action=&#8221;\u00a0method=&#8217;post&#8217;&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;table&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;tr&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;td&amp;amp;amp;amp;amp;gt;Content\u00a0of\u00a0index.html\u00a0:&amp;amp;amp;amp;amp;lt;\/td&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;td&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;textarea\u00a0cols=&#8217;100&#8242;\u00a0rows=&#8217;10&#8217;\u00a0name=&#8217;content&#8217;&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;html&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;head&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;meta\u00a0http-equiv=&#8217;Content-Type&#8217;\u00a0content=&#8217;text\/html;\u00a0charset=UTF-8&#8217;&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;\/head&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;body&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;script\u00a0type=&#8217;text\/javascript&#8217;&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nsetTimeout(\\&amp;amp;amp;amp;amp;quot;window.location=&#8217;\/&#8217;\\&amp;amp;amp;amp;amp;quot;,1);&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;\/script&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;\/body&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;\/html&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;\/textarea&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;\/td&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;\/tr&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;\/table&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;lt;p&amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;input\u00a0type=&#8217;submit&#8217;\u00a0value=&#8217;Create\u00a0Indexes&#8217;\u00a0\/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;ul&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nfileWalker(trim(strval($_POST[&amp;amp;amp;amp;amp;quot;path&amp;amp;amp;amp;amp;quot;])));&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\necho\u00a0&amp;amp;amp;amp;amp;quot;\u00a0\u00a0&amp;amp;amp;amp;amp;lt;\/ul&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;input\u00a0type=&#8217;submit&#8217;\u00a0value=&#8217;Create\u00a0Indexes&#8217;\u00a0\/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;\/form&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n}\u00a0elseif(isset($_POST[&amp;amp;amp;amp;amp;quot;content&amp;amp;amp;amp;amp;quot;],\u00a0$_POST[&amp;amp;amp;amp;amp;quot;folders&amp;amp;amp;amp;amp;quot;])\u00a0&amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;\u00a0is_array($_POST[&amp;amp;amp;amp;amp;quot;folders&amp;amp;amp;amp;amp;quot;])\u00a0&amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;\u00a0count($_POST[&amp;amp;amp;amp;amp;quot;folders&amp;amp;amp;amp;amp;quot;])\u00a0&amp;amp;amp;amp;amp;gt;\u00a00){&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n$content\u00a0=\u00a0trim(strval($_POST[&amp;amp;amp;amp;amp;quot;content&amp;amp;amp;amp;amp;quot;]));&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nforeach($_POST[&amp;amp;amp;amp;amp;quot;folders&amp;amp;amp;amp;amp;quot;]\u00a0as\u00a0$folder){&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n$folder\u00a0=\u00a0trim(strval($folder));&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nif(is_dir($folder)\u00a0&amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;\u00a0is_writable($folder)\u00a0&amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;\u00a0!file_exists($folder.&amp;amp;amp;amp;amp;quot;\/index.html&amp;amp;amp;amp;amp;quot;)){&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n$fp\u00a0=\u00a0@fopen($folder.&amp;amp;amp;amp;amp;quot;\/index.html&amp;amp;amp;amp;amp;quot;,\u00a0&amp;amp;amp;amp;amp;quot;w&amp;amp;amp;amp;amp;quot;);&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nif($fp){&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n@fputs($fp,\u00a0$content);&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\necho\u00a0&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;lt;div\u00a0class=&#8217;success&#8217;&amp;amp;amp;amp;amp;gt;$folder&amp;amp;amp;amp;amp;lt;\/div&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n@fclose($fp);&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n}\u00a0else&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\necho\u00a0&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;lt;div\u00a0class=&#8217;error&#8217;&amp;amp;amp;amp;amp;gt;$folder&amp;amp;amp;amp;amp;lt;\/div&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n}&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n}&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n}&amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;lt;p&amp;amp;amp;amp;gt;?&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;lt;p&amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;\/body&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;\/html&amp;amp;amp;amp;amp;gt;[\/php]<\/p>\n<\/p>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Une \u00e9tape relativement longue et redondante lors de la conception et\u00a0d\u00e9veloppement d&#8217;une application web consiste \u00e0 parcourir tous les r\u00e9pertoires [&hellip;]<\/p>\n","protected":false},"author":1337,"featured_media":1195,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,15],"tags":[25,24,17,22],"class_list":["post-100","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-prog-and-dev","category-projects-and-tools","tag-index","tag-index-of","tag-php","tag-recursivite"],"_links":{"self":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/users\/1337"}],"replies":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/comments?post=100"}],"version-history":[{"count":9,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/100\/revisions"}],"predecessor-version":[{"id":1634,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/100\/revisions\/1634"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/media\/1195"}],"wp:attachment":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/media?parent=100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/categories?post=100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/tags?post=100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}