<?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>dmesg &#187; PHP</title>
	<atom:link href="http://dmesg.org.ua/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://dmesg.org.ua</link>
	<description>заметки системного инженера</description>
	<lastBuildDate>Thu, 28 Jan 2010 09:06:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
		<item>
		<title>Генератор паролей на PHP</title>
		<link>http://dmesg.org.ua/2009/12/password-generator-php/</link>
		<comments>http://dmesg.org.ua/2009/12/password-generator-php/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 14:08:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://dmesg.org.ua/?p=324</guid>
		<description><![CDATA[&#60;?php function gen_pw&#40;$lenght&#41;&#123; $alphabet = range&#40;'a','z'&#41;; $up_alphabet = range&#40;'A','Z'&#41;; $digits = range&#40;'1','9'&#41;; &#160; $full_array = array_merge&#40;$alphabet,$up_alphabet,$digits&#41;; $password = ''; &#160; for&#40;$i='0'; $i &#60; $lenght; $i++&#41;&#123; $entrie = array_rand&#40;$full_array&#41;; $password .= $full_array&#91;$entrie&#93;; &#160; &#125; return $password; &#125; $pw = gen_pw&#40;'8'&#41;; echo $pw; ?&#62;]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">function</span> gen_pw<span style="color: #009900;">&#40;</span><span style="color: #000088;">$lenght</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$alphabet</span>    <span style="color: #339933;">=</span> <span style="color: #990000;">range</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'a'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'z'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$up_alphabet</span> <span style="color: #339933;">=</span> <span style="color: #990000;">range</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'A'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'Z'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$digits</span>      <span style="color: #339933;">=</span> <span style="color: #990000;">range</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'1'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'9'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$full_array</span>  <span style="color: #339933;">=</span> <span style="color: #990000;">array_merge</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$alphabet</span><span style="color: #339933;">,</span><span style="color: #000088;">$up_alphabet</span><span style="color: #339933;">,</span><span style="color: #000088;">$digits</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$password</span>    <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
&nbsp;
        <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: #0000ff;">'0'</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$lenght</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>
                <span style="color: #000088;">$entrie</span>    <span style="color: #339933;">=</span> <span style="color: #990000;">array_rand</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$full_array</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$password</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$full_array</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$entrie</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$password</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000088;">$pw</span> <span style="color: #339933;">=</span> gen_pw<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'8'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$pw</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://dmesg.org.ua/2009/12/password-generator-php/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Функции работы с директориями в PHP</title>
		<link>http://dmesg.org.ua/2009/12/dirs-in-php/</link>
		<comments>http://dmesg.org.ua/2009/12/dirs-in-php/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 21:25:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://dmesg.org.ua/?p=290</guid>
		<description><![CDATA[PHP язык не такой многословный и извилистый как Perl, но тоже любит поболтать. Сегодня поговорим о работе с директориями. В PHP существует для этого 3 стандартных способа. scandir &#60;?php $dir_array = scandir&#40;'dirs'&#41;; foreach&#40;$dir_array as $dir&#41;&#123; if&#40;$dir !== '.' &#38;&#38; $dir !== '..'&#41;&#123; echo &#34;$dir\n&#34;; &#125; &#125; ?&#62; opendir+ readdir &#60;?php $dir_handle = opendir&#40;'dirs'&#41;; while&#40;false != [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://dmesg.org.ua/wp-content/uploads/2009/07/php-med-trans-light.gif" alt="php-med-trans-light" title="php-med-trans-light" width="95" height="51" class="alignleft size-full wp-image-86" />PHP язык не такой многословный и извилистый как Perl, но тоже любит поболтать. Сегодня поговорим о работе с директориями. В PHP существует для этого 3 стандартных способа.<br />
<span id="more-290"></span></p>
<ol>
<li><a title="scandir" href="http://php.net/scandir"><strong>scandir</strong></a></li>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$dir_array</span> <span style="color: #339933;">=</span> <span style="color: #990000;">scandir</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'dirs'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir_array</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$dir</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir</span> <span style="color: #339933;">!==</span> <span style="color: #0000ff;">'.'</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$dir</span> <span style="color: #339933;">!==</span> <span style="color: #0000ff;">'..'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$dir</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<li><a title="scandir" href="http://php.net/opendir"><strong>opendir</strong></a>+ <a title="scandir" href="http://php.net/readdir"><strong>readdir</strong></a></li>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$dir_handle</span> <span style="color: #339933;">=</span> <span style="color: #990000;">opendir</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'dirs'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">!=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir</span> <span style="color: #339933;">=</span> <span style="color: #990000;">readdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir_handle</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir</span> <span style="color: #339933;">!==</span> <span style="color: #0000ff;">'.'</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$dir</span> <span style="color: #339933;">!==</span> <span style="color: #0000ff;">'..'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
          <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$dir</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<li><a title="dir" href="http://php.net/manual/en/class.dir.php"><strong>dir</strong></a></li>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$dir_class</span> <span style="color: #339933;">=</span> <span style="color: #990000;">dir</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'dirs'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">!==</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$dir_class</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">read</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir</span> <span style="color: #339933;">!==</span> <span style="color: #0000ff;">'.'</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$dir</span> <span style="color: #339933;">!==</span> <span style="color: #0000ff;">'..'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
              <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$dir</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

</ol>
<p>А теперь самое интересное: проведём небольшой синтетический тест на производительность этих функций. Предварительно уберём проверки и вывод.<br />
Для тестирование создаём директорию, которая содержит 1 млн. файлов<br />
быстрее всего это можно сделать так</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">for</span> i <span style="color: #000000; font-weight: bold;">in</span> $<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">seq</span> <span style="color: #000000;">0</span> <span style="color: #000000;">1000000</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;<span style="color: #000000; font-weight: bold;">do</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$i</span>; <span style="color: #000000; font-weight: bold;">done</span></pre></div></div>

<p>у меня это закончилось с такими показателями</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">real    1m40.012s
user    0m32.628s
sys     0m44.776s</pre></div></div>

<p>на Gentoo 2.6.31 , ext4 , Pentium Dual Core 2160 (1.8GHz), 1GB ОЗУ</p>
<p>теперь приступим к запуску тестов PHP (учитываю время повторного выполнения, после перемещения файлов в кэш)<br />
1. <strong>scandir </strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #990000;">scandir</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'dirs'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">real    0m3.370s
user    0m2.511s
sys     0m0.730s</pre></div></div>

<p>так как <strong>scandir</strong> помимо чтения ещё и сортирует, только не очень удачно , например с числами это выглядит так:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">215197
215198
215199
2152
21520
215200
215201</pre></div></div>

<p>то не будем давать фору другим способам чтения директорий.</p>
<p>2. <strong>opendir + readdir</strong><br />
без сортировки, т.е. если Вам достаточно прочитать содержимое директории</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$dir_handle</span> <span style="color: #339933;">=</span> <span style="color: #990000;">opendir</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'dirs'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">!==</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">readdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir_handle</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>результат будет таким</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">real    0m1.438s
user    0m0.779s
sys     0m0.616s</pre></div></div>

<p>и с сортировкой:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$dir_handle</span> <span style="color: #339933;">=</span> <span style="color: #990000;">opendir</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'dirs'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">!==</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir</span> <span style="color: #339933;">=</span> <span style="color: #990000;">readdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir_handle</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$dir_array</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$dir</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #990000;">sort</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir_array</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>результат такой</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">real    0m10.554s
user    0m9.489s
sys     0m0.739s</pre></div></div>

<p>3. <strong>dir</strong><br />
Без сортировки</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$dir_class</span> <span style="color: #339933;">=</span> <span style="color: #990000;">dir</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'dirs'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">!==</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir_class</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">read</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>получаем</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">real    0m1.686s
user    0m1.015s
sys     0m0.663s</pre></div></div>

<p>И с сортровкой</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$dir_class</span> <span style="color: #339933;">=</span> <span style="color: #990000;">dir</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'dirs'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">!==</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$dir_class</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">read</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
       <span style="color: #000088;">$dir_array</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$dir</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
<span style="color: #990000;">sort</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir_array</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>результат таков</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">real    0m11.436s
user    0m10.492s
sys     0m0.697s</pre></div></div>

<p>P.S.<br />
Возможно инициализация массива вместе с  <a href="http://php.net/sort">sort</a>  не лучший способ для сортировки, но это было не главным в этой заметке</p>
<p>Похожие записи:<br />
<a href="http://dmesg.org.ua/2009/07/search-files-in-di-php/">Поиск файлов и директорий в каталоге (PHP)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dmesg.org.ua/2009/12/dirs-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как спрятать X-Powered-By в PHP?</title>
		<link>http://dmesg.org.ua/2009/12/php-x-powered-by/</link>
		<comments>http://dmesg.org.ua/2009/12/php-x-powered-by/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 21:05:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Администрирование]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[безопасность]]></category>

		<guid isPermaLink="false">http://dmesg.org.ua/?p=241</guid>
		<description><![CDATA[Заголовок X-Powerd-By в ответе веб сервера показывает не совсем безопасную информацию, а именно полную версию PHP. Прячется он очень просто: достаточно изменить следующее в php.ini ; Decides whether PHP may expose the fact that it is installed on the server ; (e.g. by adding its signature to the Web server header). It is no security [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://dmesg.org.ua/wp-content/uploads/2009/07/php-med-trans-light.gif" alt="php-med-trans-light" title="php-med-trans-light" width="95" height="51" class="alignleft size-full wp-image-86" />Заголовок X-Powerd-By в ответе веб сервера показывает не совсем безопасную информацию, а именно полную версию PHP.</p>
<p>Прячется он очень просто:<br />
достаточно изменить следующее в php.ini</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">; Decides whether PHP may expose the fact that it is installed on the server
; (e.g. by adding its signature to the Web server header).  It is no security
; threat in any way, but it makes it possible to determine whether you use PHP
; on your server or not.
expose_php = On</pre></div></div>

<p>на</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">expose_php = Off</pre></div></div>

<p>После этого, если используете mod_php, сделайте reload веб серверу.</p>
]]></content:encoded>
			<wfw:commentRss>http://dmesg.org.ua/2009/12/php-x-powered-by/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: Распаковка zip архивов на сервере</title>
		<link>http://dmesg.org.ua/2009/11/php-unzipping/</link>
		<comments>http://dmesg.org.ua/2009/11/php-unzipping/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 19:35:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://dmesg.org.ua/?p=189</guid>
		<description><![CDATA[Случается, что нужно распаковать залитый на веб-сервер по FTP архив, если делать это с десктопа, то процедура получается аналогичной заливке распакованных файлов. Чтобы решить эту проблему дарю вам этот PHP скрипт. Для его работы на сервере должен стоять unzip, и разрешено использование встроенной функции exec (скрипт это всё проверит). Чтобы воспользоваться им, размещаем скрипт, например [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://dmesg.org.ua/wp-content/uploads/2009/07/php-med-trans-light.gif" alt="php-med-trans-light" title="php-med-trans-light" width="95" height="51" class="alignleft size-full wp-image-86" />Случается, что нужно распаковать залитый на веб-сервер по FTP архив, если делать это с десктопа, то процедура получается аналогичной заливке распакованных файлов. Чтобы решить эту проблему дарю вам этот PHP скрипт. Для его работы на сервере должен стоять unzip, и разрешено использование встроенной функции exec (скрипт это всё проверит).<br />
Чтобы воспользоваться им, размещаем скрипт, например с именем unzip.php,  в той же директории где расположен архив или даже несколько архивов</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">function_exists</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'exec'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'exec function is not available on this server'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$unzip_command</span> <span style="color: #339933;">=</span> <span style="color: #990000;">exec</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/usr/bin/which unzip'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$dir_handle</span> <span style="color: #339933;">=</span> <span style="color: #990000;">opendir</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">getcwd</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #990000;">die</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Can\'t open dir'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">!=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$files</span> <span style="color: #339933;">=</span> <span style="color: #990000;">readdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir_handle</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$files</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">'.'</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$files</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">'..'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/.\.zip/'</span><span style="color: #339933;">,</span><span style="color: #000088;">$files</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
          <span style="color: #990000;">exec</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$unzip_command</span> <span style="color: #006699; font-weight: bold;">$files</span>&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$output</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	  <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;b&gt;Unzipping '</span><span style="color: #339933;">,</span><span style="color: #000088;">$files</span><span style="color: #339933;">,</span><span style="color: #0000ff;">' &lt;/b&gt;&lt;br&gt;'</span><span style="color: #339933;">;</span>
	  <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$output</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$unzipped_files</span><span style="color: #009900;">&#41;</span>
	      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$unzipped_files</span>&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'&lt;span style=&quot;color: green&quot;&gt; done!&lt;/span&gt;&lt;br&gt;'</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
     <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://dmesg.org.ua/2009/11/php-unzipping/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Сброс пароля администратора в Joomla</title>
		<link>http://dmesg.org.ua/2009/10/reset-joomla-admin-password/</link>
		<comments>http://dmesg.org.ua/2009/10/reset-joomla-admin-password/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 12:43:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://dmesg.org.ua/?p=160</guid>
		<description><![CDATA[Скрипт на PHP для тех, кто часто забывает пароль администратора в панель администрирования CMS Joomla. Просто залейте его на сервер в директорию /administrator/ (например с именем pw.php) и откройте в браузере http://example.com/administrator/pw.php. Новый пароль придет на электронную почту администратора Joomla для Joomla 1.5.* &#60;? $joomlaConfig = '../configuration.php'; if &#40;!file_exists&#40;$joomlaConfig&#41;&#41; die &#40;&#34;Error: file $joomlaConfig does not [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://dmesg.org.ua/wp-content/uploads/2009/07/php-med-trans-light.gif" alt="php-med-trans-light" title="php-med-trans-light" width="95" height="51" class="alignleft size-full wp-image-86" />Скрипт на PHP для тех, кто часто забывает пароль администратора в  панель администрирования CMS Joomla. Просто залейте его на сервер в директорию /administrator/ (например с именем pw.php) и откройте в браузере http://example.com/administrator/pw.php. Новый пароль придет на электронную почту администратора Joomla<br />
<span id="more-160"></span></p>
<p><b>для Joomla 1.5.*</b></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #000088;">$joomlaConfig</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'../configuration.php'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$joomlaConfig</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #990000;">die</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Error: file <span style="color: #006699; font-weight: bold;">$joomlaConfig</span> does not exist&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$joomlaConfig</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$config</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> JConfig<span style="color: #339933;">;</span>
	<span style="color: #000088;">$db_link</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_connect</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$config</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">host</span><span style="color: #339933;">,</span><span style="color: #000088;">$config</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">user</span><span style="color: #339933;">,</span><span style="color: #000088;">$config</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">password</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">mysql_error</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #990000;">mysql_select_db</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$config</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">db</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">mysql_error</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$query</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT email FROM <span style="color: #006699; font-weight: bold;">{$config-&gt;dbprefix}</span>users WHERE id=62&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span><span style="color: #339933;">,</span><span style="color: #000088;">$db_link</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_fetch_assoc</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">function</span> createPassword<span style="color: #009900;">&#40;</span><span style="color: #000088;">$length</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$chars</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;234567890abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&quot;</span><span style="color: #339933;">;</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;">$password</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;=</span> <span style="color: #000088;">$length</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$password</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$chars</span><span style="color: #009900;">&#123;</span><span style="color: #990000;">rand</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$chars</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$i</span><span style="color: #339933;">++;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$password</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #000088;">$pw</span>   <span style="color: #339933;">=</span> createPassword<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">8</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$salt</span> <span style="color: #339933;">=</span> createPassword<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">32</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$md5_pw</span> <span style="color: #339933;">=</span> <span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pw</span><span style="color: #339933;">.</span><span style="color: #000088;">$salt</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;">$salt</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$updatepw_sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;UPDATE <span style="color: #006699; font-weight: bold;">{$config-&gt;dbprefix}</span>users SET password='<span style="color: #006699; font-weight: bold;">$md5_pw</span>' WHERE id='62'&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$updatepw_sql</span><span style="color: #339933;">,</span><span style="color: #000088;">$db_link</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">mysql_error</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'new password has been sent to '</span><span style="color: #339933;">.</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'email'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">mail</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'email'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;New password for <span style="color: #006699; font-weight: bold;">$config-&gt;sitename</span>&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;new password for admin: <span style="color: #006699; font-weight: bold;">$pw</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #990000;">mysql_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$db_link</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p><b>для Joomla 1.0.*</b></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #000088;">$joomlaConfig</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'../configuration.php'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$joomlaConfig</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
        <span style="color: #990000;">die</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Error: file <span style="color: #006699; font-weight: bold;">$joomlaConfig</span> does not exist&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$joomlaConfig</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$db_link</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_connect</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$mosConfig_host</span><span style="color: #339933;">,</span><span style="color: #000088;">$mosConfig_user</span><span style="color: #339933;">,</span><span style="color: #000088;">$mosConfig_password</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">mysql_error</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">mysql_select_db</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$mosConfig_db</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">mysql_error</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$query</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT email FROM <span style="color: #006699; font-weight: bold;">{$mosConfig_dbprefix}</span>users WHERE id=62&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span><span style="color: #339933;">,</span><span style="color: #000088;">$db_link</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_fetch_assoc</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> createPassword<span style="color: #009900;">&#40;</span><span style="color: #000088;">$length</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$chars</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;234567890abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&quot;</span><span style="color: #339933;">;</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;">$password</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;=</span> <span style="color: #000088;">$length</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$password</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$chars</span><span style="color: #009900;">&#123;</span><span style="color: #990000;">rand</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$chars</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$i</span><span style="color: #339933;">++;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$password</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000088;">$pw</span> <span style="color: #339933;">=</span> createPassword<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">8</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$md5_pw</span> <span style="color: #339933;">=</span> <span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pw</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$updatepw_sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;UPDATE <span style="color: #006699; font-weight: bold;">{$mosConfig_dbprefix}</span>users SET password='<span style="color: #006699; font-weight: bold;">$md5_pw</span>' WHERE id='62'&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$updatepw_sql</span><span style="color: #339933;">,</span><span style="color: #000088;">$db_link</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">mysql_error</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'new password has been sent to '</span><span style="color: #339933;">.</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'email'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">mail</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'email'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;New password for <span style="color: #006699; font-weight: bold;">$mosConfig_live_site</span>&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;new password for admin: <span style="color: #006699; font-weight: bold;">$pw</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #990000;">mysql_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$db_link</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://dmesg.org.ua/2009/10/reset-joomla-admin-password/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Поиск файлов и директорий в каталоге (PHP)</title>
		<link>http://dmesg.org.ua/2009/07/search-files-in-di-php/</link>
		<comments>http://dmesg.org.ua/2009/07/search-files-in-di-php/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 07:58:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://dmesg.org.ua/?p=64</guid>
		<description><![CDATA[Если у Вас появится задача найти файл в заданном каталоге на сервере через броузер, можете воспользоваться этой шпаргалкой 1 2 3 4 5 6 7 8 9 10 11 &#60;?php $dir = '/opt/data/srv/www/php'; $handle = opendir&#40;$dir&#41;; if&#40;$handle&#41;&#123; while&#40;true == &#40;$dir = readdir&#40;$handle&#41;&#41;&#41;&#123; if&#40;$dir!='.' &#38;&#38; $dir!='..'&#41; f&#40;strpos&#40;$dir, $_GET&#91;'search'&#93;&#41; == true&#41; echo $dir,'&#60;br&#62;',&#34;n&#34;; &#125; &#125; ?&#62; $_GET['search'] [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-86" style="margin: 5px;" title="php-med-trans-light" src="http://dmesg.org.ua/wp-content/uploads/2009/07/php-med-trans-light.gif" alt="php-med-trans-light" width="95" height="51" />Если у Вас появится задача найти файл в заданном каталоге на сервере через броузер, можете воспользоваться этой шпаргалкой</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"> <span style="color: #000000; font-weight: bold;">&lt;?php</span>
 <span style="color: #000088;">$dir</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'/opt/data/srv/www/php'</span><span style="color: #339933;">;</span> 
 <span style="color: #000088;">$handle</span> <span style="color: #339933;">=</span> <span style="color: #990000;">opendir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$handle</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">true</span> <span style="color: #339933;">==</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir</span> <span style="color: #339933;">=</span> <span style="color: #990000;">readdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$handle</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
           <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir</span><span style="color: #339933;">!=</span><span style="color: #0000ff;">'.'</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$dir</span><span style="color: #339933;">!=</span><span style="color: #0000ff;">'..'</span><span style="color: #009900;">&#41;</span>
                 f<span style="color: #009900;">&#40;</span><span style="color: #990000;">strpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'search'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> 
                    <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$dir</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'&lt;br&gt;'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;n&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
 <span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>$_GET['search'] &#8211; может содержать любой символ из имени файла</p>
]]></content:encoded>
			<wfw:commentRss>http://dmesg.org.ua/2009/07/search-files-in-di-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Динамические функции PHP</title>
		<link>http://dmesg.org.ua/2009/05/dynamic-php-functions/</link>
		<comments>http://dmesg.org.ua/2009/05/dynamic-php-functions/#comments</comments>
		<pubDate>Sun, 31 May 2009 19:29:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://dmesg.org.ua/?p=3</guid>
		<description><![CDATA[В PHP , как и в многих других языках, есть замечательная возможность создавать динамические функции. Найти применение этому, я надеюсь, Вы сможете&#8230; :) 1 2 3 4 5 6 7 8 9 10 11 &#60;? function dynamic&#40;&#41; &#123; $args = func_get_args&#40;&#41;; foreach &#40;$args as $value&#41;&#123; echo &#34;$value &#34;; &#125; echo &#34;\n&#34;; &#125; &#160; dynamyc&#40;'hello','world'&#41;; ?&#62;]]></description>
			<content:encoded><![CDATA[<p><img src="http://dmesg.org.ua/wp-content/uploads/2009/07/php-med-trans-light.gif" alt="php-med-trans-light" title="php-med-trans-light" width="95" height="51" class="alignleft size-full wp-image-86" />В PHP , как и в многих других языках, есть замечательная возможность создавать динамические функции. Найти применение этому, я надеюсь, Вы сможете&#8230; :)</p>
<p><span id="more-3"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #000000; font-weight: bold;">function</span> dynamic<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
 <span style="color: #000088;">$args</span> <span style="color: #339933;">=</span> <span style="color: #990000;">func_get_args</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$args</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$value</span> &quot;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
 <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
&nbsp;
dynamyc<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'hello'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'world'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://dmesg.org.ua/2009/05/dynamic-php-functions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

