<?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>Tpoxa&#039;s blog &#187; Javascript</title>
	<atom:link href="http://tpoxa.com/category/js/feed/" rel="self" type="application/rss+xml" />
	<link>http://tpoxa.com</link>
	<description></description>
	<lastBuildDate>Mon, 23 Apr 2012 22:01:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Nginx Http Upload Progress Module &#8212; Mootools</title>
		<link>http://tpoxa.com/2009/11/17/nginx-http-upload-progress-module-mootools/</link>
		<comments>http://tpoxa.com/2009/11/17/nginx-http-upload-progress-module-mootools/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 11:41:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Mootools]]></category>

		<guid isPermaLink="false">http://tpoxa.com/?p=112</guid>
		<description><![CDATA[Скрипт будет полезен для тех кто использует Nginx и модули Nginx upload module и Nginx Upload Progress Module Требуется mootools версии 1.2 или выше. В решении используется  dwProgress bar талантливого разработчика  David Walsh. Код в head [xhtml] &#60;script type=&#34;text/javascript&#34; src=&#34;/js/mootools-1.2.4-core.js&#34;&#62;&#60;/script&#62; &#60;script type=&#34;text/javascript&#34; src=&#34;/js/mootools-1.2.4-more.js?v1&#34;&#62;&#60;/script&#62; &#60;script type=&#34;text/javascript&#34; src=&#34;/js/dwProgressBar.js&#34;&#62; [/xhtml] Дополнительные CSS стили [css] #progress_container { background-color:#FFFFFF; font-size:0.9em; [...]]]></description>
			<content:encoded><![CDATA[<p>Скрипт будет полезен для тех кто использует Nginx и модули <a href="http://www.grid.net.ru/nginx/upload.en.html">Nginx upload module</a> и <a href="http://wiki.nginx.org/NginxHttpUploadProgressModule">Nginx Upload Progress Module</a></p>
<p><span id="more-112"></span></p>
<p>Требуется <strong>mootools</strong> версии 1.2 или выше.</p>
<p>В решении используется  dwProgress bar талантливого разработчика  <a href="http://davidwalsh.name/js/progressbar" target="_blank"><strong>David Walsh</strong></a>.</p>
<p>Код в head</p>
<p>[xhtml]<br />
&lt;script type=&quot;text/javascript&quot; src=&quot;/js/mootools-1.2.4-core.js&quot;&gt;&lt;/script&gt;<br />
&lt;script type=&quot;text/javascript&quot; src=&quot;/js/mootools-1.2.4-more.js?v1&quot;&gt;&lt;/script&gt;<br />
&lt;script type=&quot;text/javascript&quot; src=&quot;/js/dwProgressBar.js&quot;&gt;<br />
[/xhtml]</p>
<p>Дополнительные CSS стили</p>
<p>[css]<br />
#progress_container { background-color:#FFFFFF; font-size:0.9em; height:50px; margin:0; padding:10px; width:400px; }<br />
#box2 { background:transparent url(/img/progress-back.png) no-repeat scroll right center; float:left; height:18px; width:400px; }<br />
#perc2 { background:transparent url(/img/progress.png) no-repeat scroll right center; height:18px; }<br />
#progress_filename { color:#000000; font-size:0.9em; line-height:1.2em; padding:0 0 10px; width:100%; }<br />
[/css]</p>
<p>Код в body</p>
<p>[xhtml]</p>
<p>&lt;form id=&quot;upload_form&quot; action=&quot;/upload.php&quot; method=&quot;post&quot; enctype=&quot;multipart/form-data&quot;&gt;<br />
&lt;h1&gt;Добавить файл&lt;/h1&gt;<br />
&lt;p&gt;&lt;input type=&quot;file&quot; id=&quot;id_file&quot; name=&quot;file&quot; size=&quot;40&quot;&gt;&lt;/input&gt;&lt;/p&gt;<br />
&lt;div style=&quot;font-size:10px; padding:10px;color:#999&quot;&gt;<br />
&lt;p&gt;Размер файла должен быть до 300 мБ.&lt;/p&gt;</p>
<p>&lt;div&gt;<br />
    &lt;div id=&quot;progress_container&quot;&gt;<br />
        &lt;div id=&quot;progress_filename&quot;&gt;Выберите файл&lt;/div&gt;<br />
        &lt;div id=&quot;put-bar-here&quot;&gt;&lt;/div&gt;<br />
    &lt;/div&gt;<br />
&lt;/div&gt;<br />
&lt;/div&gt;<br />
&lt;p&gt;&lt;input type=&quot;submit&quot; value=&quot;Залить!&quot; id=&quot;submit&quot;&gt;&lt;/input&gt;&lt;/p&gt;<br />
&lt;/form&gt;<br />
[/xhtml]</p>
<p>[jscript]<br />
&lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;</p>
<p> var uuid = &quot;&quot;<br />
 pb2 = new dwProgressBar({<br />
 container: $(&#8216;put-bar-here&#8217;),<br />
 startPercentage: 0,<br />
 speed:1000,<br />
 boxID: &#8216;box2&#8242;,<br />
 percentageID: &#8216;perc2&#8242;,<br />
 displayID: &#8216;text&#8217;,<br />
 displayText: false<br />
 });</p>
<p> for (i = 0; i &lt; 32; i++) {<br />
 uuid += Math.floor(Math.random() * 16).toString(16);<br />
 }</p>
<p> var req = new Request({<br />
 method: &#8216;get&#8217;,<br />
 headers: {&#8216;X-Progress-ID&#8217;: uuid},<br />
 url: &#8216;/progress&#8217;,<br />
 initialDelay: 500,<br />
 delay: 1000,<br />
 limit: 10000,<br />
 onSuccess: function(reply) {<br />
 test = JSON.decode(reply);<br />
 switch(test.state) {<br />
 case &quot;uploading&quot;:<br />
 percent = 0.00 + parseFloat(Math.floor((test.received / test.size)*1000)/10);<br />
 $(&#8216;progress_filename&#8217;).set(&#8216;html&#8217;,'Загрузка &#8216; + filename + &#8216; &#8230;&#8217; + percent + &#8216;%&#8217;);<br />
 pb2.set(percent);<br />
 break;<br />
 case &quot;starting&quot;:<br />
 $(&#8216;progress_filename&#8217;).set(&#8216;html&#8217;,'Начинается загрузка&#8230; &#8216;);<br />
 break;<br />
 case &quot;error&quot;:<br />
 $(&#8216;progress_filename&#8217;).set(&#8216;html&#8217;,'Ошибка&#8230; &#8216; + test.status);<br />
 break;<br />
 case &quot;done&quot;:<br />
 $(&#8216;progress_filename&#8217;).set(&#8216;html&#8217;,'Загрузка завершена&#8230;&#8217;);<br />
 req.stopTimer();<br />
 break;<br />
 default:<br />
 //<br />
 break;<br />
 }<br />
 }<br />
 })</p>
<p> window.addEvent(&#8216;domready&#8217;, function() {</p>
<p> $(&#8216;submit&#8217;).addEvent( &#8216;click&#8217;, function(evt){<br />
 filename = $(&quot;id_file&quot;).get(&#8216;value&#8217;).split(/[\/\\]/).pop();<br />
 $(&quot;progress_filename&quot;).set(&#8216;html&#8217;,'Uploading &#8216; + filename + &#8216; &#8230;&#8217;);<br />
 $(&quot;upload_form&quot;).set(&#8216;action&#8217;, &quot;/upload.php?X-Progress-ID=&quot; + uuid);</p>
<p> req.startTimer(&#8216;X-Progress-ID=&#8217; + uuid);</p>
<p> } );<br />
})<br />
&lt;/script&gt;<br />
[/jscript]</p>
<p>Демонстрацию работы скрипта можно посмотреть <a href="http://mstream.biz/add" target="_blank">здесь</a>(нужна регистрация)</p>
<p><a href="http://overload.in.ua/663">Скачать архив</a></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">
<div class="cssRule insertInto editGroup ">
<div class="cssHead focusRow "><span class="cssSelector editable ">#progress_container</span> {</div>
<div class=" ">
<div class="cssPropertyListBox ">
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">background-color</span><span class="cssColon ">:</span><span class="cssPropValue editable ">#FFFFFF</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">font-size</span><span class="cssColon ">:</span><span class="cssPropValue editable ">0.9em</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">height</span><span class="cssColon ">:</span><span class="cssPropValue editable ">50px</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">margin</span><span class="cssColon ">:</span><span class="cssPropValue editable ">0</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">padding</span><span class="cssColon ">:</span><span class="cssPropValue editable ">10px</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">width</span><span class="cssColon ">:</span><span class="cssPropValue editable ">400px</span><span class="cssSemi ">;</span></div>
</div>
</div>
<div class="editable insertBefore ">}</div>
</div>
<div class="cssRule insertInto editGroup ">
<div class="cssHead focusRow "><span class="cssSelector editable ">#box2</span> {</div>
<div class=" ">
<div class="cssPropertyListBox ">
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">-moz-background-clip</span><span class="cssColon ">:</span><span class="cssPropValue editable ">border</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">-moz-background-inline-policy</span><span class="cssColon ">:</span><span class="cssPropValue editable ">continuous</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">-moz-background-origin</span><span class="cssColon ">:</span><span class="cssPropValue editable ">padding</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">background</span><span class="cssColon ">:</span><span class="cssPropValue editable ">transparent url(/img/progress-back.png) no-repeat scroll right center</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">float</span><span class="cssColon ">:</span><span class="cssPropValue editable ">left</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">height</span><span class="cssColon ">:</span><span class="cssPropValue editable ">18px</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">width</span><span class="cssColon ">:</span><span class="cssPropValue editable ">400px</span><span class="cssSemi ">;</span></div>
</div>
</div>
<div class="editable insertBefore ">}</div>
</div>
<div class="cssRule insertInto editGroup ">
<div class="cssHead focusRow "><span class="cssSelector editable ">#perc2</span> {</div>
<div class=" ">
<div class="cssPropertyListBox ">
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">-moz-background-clip</span><span class="cssColon ">:</span><span class="cssPropValue editable ">border</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">-moz-background-inline-policy</span><span class="cssColon ">:</span><span class="cssPropValue editable ">continuous</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">-moz-background-origin</span><span class="cssColon ">:</span><span class="cssPropValue editable ">padding</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">background</span><span class="cssColon ">:</span><span class="cssPropValue editable ">transparent url(/img/progress.png) no-repeat scroll right center</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">height</span><span class="cssColon ">:</span><span class="cssPropValue editable ">18px</span><span class="cssSemi ">;</span></div>
</div>
</div>
<div class="editable insertBefore ">}</div>
</div>
<div class="cssRule insertInto editGroup ">
<div class="cssHead focusRow "><span class="cssSelector editable ">#text</span> {</div>
<div class=" ">
<div class="cssPropertyListBox ">
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">color</span><span class="cssColon ">:</span><span class="cssPropValue editable ">#000000</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">float</span><span class="cssColon ">:</span><span class="cssPropValue editable ">left</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">font-family</span><span class="cssColon ">:</span><span class="cssPropValue editable ">tahoma,arial,sans-serif</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">font-size</span><span class="cssColon ">:</span><span class="cssPropValue editable ">11px</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">padding</span><span class="cssColon ">:</span><span class="cssPropValue editable ">3px 0 0 10px</span><span class="cssSemi ">;</span></div>
</div>
</div>
<div class="editable insertBefore ">}</div>
</div>
<div class="cssRule insertInto editGroup ">
<div class="cssHead focusRow "><span class="cssSelector editable ">#progress_filename</span> {</div>
<div class=" ">
<div class="cssPropertyListBox ">
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">color</span><span class="cssColon ">:</span><span class="cssPropValue editable ">#000000</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">font-size</span><span class="cssColon ">:</span><span class="cssPropValue editable ">0.9em</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">line-height</span><span class="cssColon ">:</span><span class="cssPropValue editable ">1.2em</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">padding</span><span class="cssColon ">:</span><span class="cssPropValue editable ">0 0 10px</span><span class="cssSemi ">;</span></div>
<div class="cssProp editGroup focusRow "><span class="cssPropName editable ">width</span><span class="cssColon ">:</span><span class="cssPropValue editable ">100%</span><span class="cssSemi ">;</span></div>
</div>
</div>
<div class="editable insertBefore ">}</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tpoxa.com/2009/11/17/nginx-http-upload-progress-module-mootools/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Работа в PHP с ZIP архивами</title>
		<link>http://tpoxa.com/2008/09/19/zip_lib_php/</link>
		<comments>http://tpoxa.com/2008/09/19/zip_lib_php/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 16:20:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://tpoxa.com/?p=45</guid>
		<description><![CDATA[Если на сервере нет разширения php_zip  а zip нужен все равно существует Zip Lib написанная на языке PHP Конечно же по быстродействи она уступает но иногда просто нет другого выбора. Вот она. Внутри также находятся примеры от разработчика  http://forum.maxg.info Также хочу заметить что данная библиотека используется в phpmyadmin. Простой пример как содержимое папки на сервере [...]]]></description>
			<content:encoded><![CDATA[<p>Если на сервере нет разширения php_zip  а zip нужен все равно существует Zip Lib написанная на языке PHP<span id="more-45"></span></p>
<p>Конечно же по быстродействи она уступает но иногда просто нет другого выбора.</p>
<p><a href="http://tpoxa.com/wp-content/uploads/2008/09/zip.zip">Вот она</a>. Внутри также находятся примеры от разработчика  <em>http://forum.maxg.info</em></p>
<p>Также хочу заметить что данная библиотека используется в phpmyadmin.</p>
<p>Простой пример как содержимое папки на сервере сложить в архив:</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="php"><pre class="de1"><span class="kw1">include</span><span class="br0">&#40;</span><span class="st0">&quot;zip.lib.php&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="re0">$zip</span> <span class="sy0">=</span> <span class="kw2">new</span> Zip<span class="sy0">;</span>
<span class="re0">$zip</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>Add<span class="br0">&#40;</span><span class="kw3">Array</span><span class="br0">&#40;</span><span class="kw3">Array</span><span class="br0">&#40;</span><span class="st0">&quot;t.txt&quot;</span><span class="sy0">,</span><span class="st0">&quot;Text&quot;</span><span class="br0">&#41;</span><span class="sy0">,</span><span class="kw3">Array</span><span class="br0">&#40;</span><span class="st0">&quot;folder/&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">,</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw3">fputs</span><span class="br0">&#40;</span><span class="kw3">fopen</span><span class="br0">&#40;</span><span class="st0">&quot;test.zip&quot;</span><span class="sy0">,</span><span class="st0">&quot;wb&quot;</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="re0">$zip</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get_file<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div></div></div></div></div></div>


<p>Вот так просто.</p>
]]></content:encoded>
			<wfw:commentRss>http://tpoxa.com/2008/09/19/zip_lib_php/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ajax uploader</title>
		<link>http://tpoxa.com/2008/08/28/ajax-uploader/</link>
		<comments>http://tpoxa.com/2008/08/28/ajax-uploader/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 01:34:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Mootools]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://tpoxa.com/?p=5</guid>
		<description><![CDATA[Недавно понадобилось в галерее сделать аплоад. После поисков ajax uploader&#8217;a решил сделать свой.Недавно понадобилось в галерее сделать аплоад. После поисков ajax uploader&#8217;a решил сделать свой позаимствовав некоторые запчасти от Fancy Upload (Кстати только у меня его индикатор движется как то непропорционально?) Как и Digitarald я  применил  mootools фреймворк. Серверная часть позаимствована от Steve Miles ajax [...]]]></description>
			<content:encoded><![CDATA[<p>Недавно понадобилось в галерее сделать аплоад. После поисков ajax uploader&#8217;a решил сделать свой.<span id="more-5"></span>Недавно понадобилось в галерее сделать аплоад. После поисков ajax uploader&#8217;a решил сделать свой позаимствовав некоторые запчасти от <a href="http://digitarald.de/project/fancyupload/" target="_blank">Fancy Upload</a> (Кстати только у меня его индикатор движется как то непропорционально?)</p>
<p>Как и Digitarald я  применил  <a href="http://mootools.net" target="_blank">mootools</a> фреймворк.</p>
<p>Серверная часть позаимствована от <a href="http://www.srmiles.com/freestuff/ajax_file_uploader/" target="_blank">Steve Miles ajax uploader</a> <img src='http://tpoxa.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Требования от хостинга:</p>
<ol>
<li>Выполнение cgi скриптов.</li>
<li>Установленный Perl.</li>
<li>PHP (4 или 5)</li>
</ol>
<p>Возможности:</p>
<ol>
<li>Закачивать большие файлы на сервер. ( Вы не ограничены директивами <em><em>max_post_size </em><em></em><em></em></em>или <em>max_upload_size</em> и т.п.)</li>
<li>Во время загрузки файла отображается индикатор прогресса. (Также возможно отображать скорость и расчетное время конца загрузки)</li>
<li>Сделать ajax аплоад опциональным. Тоесть пользователь может выбрать для себя режим загрузки.</li>
</ol>
<p>Данный скрипт удобно применять в система где уже есть аплоад и хотелось бы сделать прогрессбар с минимумом прилагаемых усилий.</p>
<p>Я сделал пример на котором можно разобраться как это работает. Также этот пример можно полностью скачать со всей иерархией папок и нужными файлами.</p>
<p>Пример <a href="http://upload.tpoxa.com" target="_blank">upload.tpoxa.com</a></p>
<p>Первый вариант &#8212; обычный.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="html"><pre class="de1">&lt;form id=&quot;myaupload&quot; action=&quot;postscript.php&quot; enctype=&quot;multipart/form-data&quot; method=&quot;post&quot;&gt;
&nbsp;
&lt;fieldset&gt;
&lt;legend&gt;Закачайте файл&lt;/legend&gt;
&nbsp;
&lt;label for=&quot;filename&quot;&gt;Название файла&lt;/label&gt;
&lt;input id=&quot;filename&quot; name=&quot;filename&quot; size=&quot;40&quot; type=&quot;text&quot; /&gt;
&nbsp;
&lt;label for=&quot;file&quot;&gt;Файл&lt;/label&gt;
&lt;input id=&quot;file&quot; name=&quot;file&quot; type=&quot;file&quot; /&gt;
&nbsp;
&lt;input name=&quot;goupload&quot; type=&quot;submit&quot; /&gt;
&lt;/fieldset&gt;
&nbsp;
&lt;/form&gt;</pre></div></div></div></div></div></div></div>


<p>Скрипт postscript.php отображает значения суперглобальных массивов $_POST и $_FILES<br />
Обычно мы используем функцию <a href="http://www.php.net/move_uploaded_file" target="_blank">move_uploaded_file</a> котороя переместит файл в папку для постоянного хранения</p>
<p>В случае же &#171;аякс загрузки&#187; это делает наш cgi скрипт который закачивает файл сначала во временное хранилище потом в любую папку которую мы укажем.<br />
В результате postscript.php не получит никаких данных в $_FILES но зато в $_POST будет уже локальный (размещенный на сервере) адрес загружаемого файла.<br />
В общем советую поиграться на <a href="http://upload.tpoxa.com" target="_blank">примере</a>.</p>
<p>Для того чтобы форма стала &#171;аяксовой&#187; нужно подключить в странице файлы аплоадера и выполнить такой код</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="javascript"><pre class="de1"><span class="sy0">&lt;</span>script type<span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span><span class="sy0">&gt;</span>
 window.<span class="me1">addEvent</span><span class="br0">&#40;</span><span class="st0">'domready'</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw2">var</span> UploadeManagerObj <span class="sy0">=</span> <span class="kw2">new</span> UploadeManager<span class="br0">&#40;</span><span class="st0">'myaupload'</span><span class="sy0">,</span><span class="br0">&#123;</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
 <span class="br0">&#125;</span><span class="br0">&#41;</span>
<span class="sy0">&lt;/</span>script<span class="sy0">&gt;</span></pre></div></div></div></div></div></div></div>


<p>&#171;myaupload&#187; &#8212; Это ID нашей формы.</p>
<p>Настройка.</p>
<p>Настройка сводится к заливке всех файлов на сервер и установки прав на них.</p>
<p>Папки tmp и upload должны быть записуемыми для PHP.  CHMOD 777</p>
<p>У /cgi-bin/upload.cgi &#8212; должны быть права для запуска CHMOD 755</p>
<p>Для отладки советую включить DEBUG режим при котором iframe в который &#171;сабмитится&#187; форма будет видим</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="javascript"><pre class="de1"><span class="sy0">&lt;</span>script type<span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span><span class="sy0">&gt;</span>
 window.<span class="me1">addEvent</span><span class="br0">&#40;</span><span class="st0">'domready'</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw2">var</span> UploadeManagerObj <span class="sy0">=</span> <span class="kw2">new</span> UploadeManager<span class="br0">&#40;</span><span class="st0">'myaupload'</span><span class="sy0">,</span><span class="br0">&#123;</span>debugmode<span class="sy0">:</span><span class="kw2">true</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
 <span class="br0">&#125;</span><span class="br0">&#41;</span>
<span class="sy0">&lt;/</span>script<span class="sy0">&gt;</span></pre></div></div></div></div></div></div></div>


<p>Если появятся какие вопросы с радостью отвечу.<br />
<a href="http://tpoxa.com/wp-content/uploads/2008/08/uploader.zip">uploader.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tpoxa.com/2008/08/28/ajax-uploader/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>TinyMce для ExtJS</title>
		<link>http://tpoxa.com/2008/08/28/extuxtinymce-v06/</link>
		<comments>http://tpoxa.com/2008/08/28/extuxtinymce-v06/#comments</comments>
		<pubDate>Wed, 27 Aug 2008 22:14:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Extjs]]></category>

		<guid isPermaLink="false">http://tpoxa.com/?p=3</guid>
		<description><![CDATA[ExtJS &#8212; Известный оконный менеджер написанный на JS В комплекте в  ExtJS  есть простенький визивиг котоый мало пригоден для полноценного набора страниц. Для тех кому привычнее пользоваться TinyMce в качестве WYSIWYG Ext.ux.TinyMCE v0.6 В данный момент в версии 0.6 существует некоторые неисправности или баги. Но я думаю в скором времени автор это исправит.]]></description>
			<content:encoded><![CDATA[<p>ExtJS &#8212; Известный оконный менеджер написанный на JS</p>
<p>В комплекте в  ExtJS  есть простенький визивиг котоый мало пригоден для полноценного набора страниц.</p>
<p>Для тех кому привычнее пользоваться TinyMce в качестве WYSIWYG</p>
<pre><a href="http://blogs.byte-force.com/xor/tinymce/" target="_blank">Ext.ux.TinyMCE v0.6</a></pre>
<p>В данный момент в версии 0.6 существует некоторые неисправности или баги. Но я думаю в скором времени <a title="Xor" href="http://blogs.byte-force.com/xor/" target="_blank">автор</a> это исправит.</p>
]]></content:encoded>
			<wfw:commentRss>http://tpoxa.com/2008/08/28/extuxtinymce-v06/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

