<?xml version="1.0"?>
<rss version="2.0"><channel><title>&#x41F;&#x440;&#x43E;&#x433;&#x440;&#x430;&#x43C;&#x43C;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x43E;&#x431;&#x449;&#x435;&#x435; Latest Topics</title><link>https://linux.ru/forum/forum/14-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BE%D0%B1%D1%89%D0%B5%D0%B5/</link><description>&#x41F;&#x440;&#x43E;&#x433;&#x440;&#x430;&#x43C;&#x43C;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x43E;&#x431;&#x449;&#x435;&#x435; Latest Topics</description><language>en</language><item><title>&#x423;&#x434;&#x430;&#x43B;&#x438;&#x442;&#x44C; &#x432;&#x441;&#x435; &#x444;&#x430;&#x439;&#x43B;&#x44B; &#x43A;&#x440;&#x43E;&#x43C;&#x435; &#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x430;&#x449;&#x438;&#x445;&#x441;&#x44F; &#x432; &#x441;&#x43F;&#x438;&#x441;&#x43A;&#x435;</title><link>https://linux.ru/forum/topic/176359-%D1%83%D0%B4%D0%B0%D0%BB%D0%B8%D1%82%D1%8C-%D0%B2%D1%81%D0%B5-%D1%84%D0%B0%D0%B9%D0%BB%D1%8B-%D0%BA%D1%80%D0%BE%D0%BC%D0%B5-%D1%81%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D1%89%D0%B8%D1%85%D1%81%D1%8F-%D0%B2-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B5/</link><description><![CDATA[
<p>
	Всем привет! Подскажите пожалуйста как можно удалить все файлы в папке кроме перечисленных в файле? Сложность вот в чем: <br />
	Файл со списком (list.txt) содержит в себе список в таком формате:<br />
	33245<br />
	2415<br />
	34222<br />
	6688<br />
	306302<br />
	534
</p>

<p>
	Имена файлов в папке вот в таком формате:<br />
	file_33245.0<br />
	file_2415.0<br />
	file_2415.1<br />
	file_34222.0<br />
	file_6688.0<br />
	file_306302.0<br />
	file_534.0<br />
	file_287612.0<br />
	file_287612.1<br />
	И так далее. 
</p>
]]></description><guid isPermaLink="false">176359</guid><pubDate>Thu, 10 Jun 2021 15:56:19 +0000</pubDate></item><item><title>&#x410;&#x432;&#x442;&#x43E;&#x43C;&#x430;&#x442;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x43E;&#x435; &#x43E;&#x431;&#x43D;&#x43E;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x435; &#x431;&#x440;&#x430;&#x443;&#x437;&#x435;&#x440;&#x430; firefox &#x438; flash &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430;</title><link>https://linux.ru/forum/topic/174305-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5-%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80%D0%B0-firefox-%D0%B8-flash-%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%D0%B0/</link><description><![CDATA[
<p>
	Для обновления браузера firefox и flash плагина я написал php скрипт, который состоит из директории 777 ( всем пользователям даны права на запись в эту директорию), файла nget.php и файла obnov.php, все файлы можно разместить на одном из локальных сайтов.
</p>

<p>
	Содержимое файла nget.php
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted">
<span class="pun">&lt;?</span><span class="pln">php
define</span><span class="pun">(</span><span class="str">"KURL_LOGIROVANIE"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln"> </span><span class="com">// true - если нужно сохранять ответы на http запросы в текстовый файл, иначе - false</span><span class="pln">
define</span><span class="pun">(</span><span class="str">"FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV"</span><span class="pun">,</span><span class="pln"> __DIR__</span><span class="pun">.</span><span class="str">'/777/curl_zaprosy.txt'</span><span class="pun">);</span><span class="pln"> </span><span class="com">// путь к текстовому файлу, в который будут записываться URL адреса страниц, ошибки, результаты запросов </span><span class="pln">
define</span><span class="pun">(</span><span class="str">"FILE_DLYA_ZAPISI_KUKIS"</span><span class="pun">,</span><span class="pln"> __DIR__</span><span class="pun">.</span><span class="str">'/777/curl_kuki.txt'</span><span class="pun">);</span><span class="pln"> </span><span class="com">// путь к текстовому файлу, в который будут записываться кукис</span><span class="pln">
define</span><span class="pun">(</span><span class="str">"KURL_PAUZA"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">50</span><span class="pun">);</span><span class="pln"> </span><span class="com">// на какое число микросекунд скрипт засыпает перед следующим http запросом</span><span class="pln">

$last_curl_url </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln"> </span><span class="com">// последний открытый сетевой адрес</span><span class="pln">

</span><span class="com">// сетевой запрос</span><span class="pln">
</span><span class="com">/* Параметры массива add:
 * yupi - строка логин:пароль для http авторизации
 * xml - добавляет заголовок ajax запроса
 * json - согласие получить в ответ json
 * post - массив данных, отправляемых формой
 * multi - массив данных, отправляемых формой в виде multipart-formdata
 * move - ограничить число допустимых редиректов, по умолчанию 5
 * top - включать заголовок в ответ функции, по умолчанию да
 * save - сохранить ответ в файл с именем
 * proxy - прокси
 * ref - ссылка, с которой мы перешли
 * req - request запрос
 * nobody - получение только заголовков header
 */</span><span class="pln">
</span><span class="kwd">function</span><span class="pln"> nget</span><span class="pun">(</span><span class="pln">$url</span><span class="pun">=</span><span class="str">""</span><span class="pun">,</span><span class="pln">$add</span><span class="pun">=</span><span class="pln">array</span><span class="pun">())</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    file_put_contents</span><span class="pun">(</span><span class="pln">FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV</span><span class="pun">,</span><span class="pln"> $url</span><span class="pun">.</span><span class="str">"\n"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">8</span><span class="pun">);</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">function_exists</span><span class="pun">(</span><span class="str">"curl_init"</span><span class="pun">))</span><span class="pln"> </span><span class="kwd">return</span><span class="pln"> fget</span><span class="pun">(</span><span class="pln">$url</span><span class="pun">,</span><span class="pln">$add</span><span class="pun">);</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!(</span><span class="pln">$curl </span><span class="pun">=</span><span class="pln"> curl_init</span><span class="pun">()))</span><span class="pln"> </span><span class="kwd">return</span><span class="pln"> NULL</span><span class="pun">;</span><span class="pln">
    curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_URL</span><span class="pun">,</span><span class="pln"> $url</span><span class="pun">);</span><span class="pln">      
    curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_COOKIEJAR</span><span class="pun">,</span><span class="pln"> FILE_DLYA_ZAPISI_KUKIS</span><span class="pun">);</span><span class="pln">
    curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_COOKIEFILE</span><span class="pun">,</span><span class="pln"> FILE_DLYA_ZAPISI_KUKIS</span><span class="pun">);</span><span class="pln">
    curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_USERAGENT</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Mozilla/5.0 (X11; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0'</span><span class="pun">);</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'yupi'</span><span class="pun">]))</span><span class="pln">
    curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_USERPWD</span><span class="pun">,</span><span class="pln"> $add</span><span class="pun">[</span><span class="str">'yupi'</span><span class="pun">]);</span><span class="pln">
    curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_SSL_VERIFYPEER</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln">
    curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_SSL_VERIFYHOST</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln">   
    curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_FOLLOWLOCATION</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
    $headers </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">   
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'xml'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">// ajax запрос</span><span class="pln">
        $headers</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'X-Requested-With: XMLHttpRequest'</span><span class="pun">;</span><span class="pln">        
    </span><span class="pun">};</span><span class="pln">
    
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'nobody'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">// header запрос</span><span class="pln">
		curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_NOBODY</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">);</span><span class="pln">
		$add</span><span class="pun">[</span><span class="str">'move'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
		$add</span><span class="pun">[</span><span class="str">'top'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'json'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">// json запрос</span><span class="pln">
        $headers</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Accept: application/json'</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'post'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">// post запрос</span><span class="pln">
        curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln">CURLOPT_POST</span><span class="pun">,</span><span class="pln"> TRUE</span><span class="pun">);</span><span class="pln">
        curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln">CURLOPT_POSTFIELDS</span><span class="pun">,</span><span class="pln"> http_build_query</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'post'</span><span class="pun">]));</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'multi'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">// post multi/part запрос</span><span class="pln">
        curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln">CURLOPT_POST</span><span class="pun">,</span><span class="pln"> TRUE</span><span class="pun">);</span><span class="pln">
        curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln">CURLOPT_POSTFIELDS</span><span class="pun">,</span><span class="pln"> $add</span><span class="pun">[</span><span class="str">'multi'</span><span class="pun">]);</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'req'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">// request запрос</span><span class="pln">
        curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln">CURLOPT_CUSTOMREQUEST</span><span class="pun">,</span><span class="pln"> </span><span class="str">"POST"</span><span class="pun">);</span><span class="pln">
        curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln">CURLOPT_POSTFIELDS</span><span class="pun">,</span><span class="pln"> $add</span><span class="pun">[</span><span class="str">'req'</span><span class="pun">]);</span><span class="pln">
        $headers</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Content-Type: application/json'</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'move'</span><span class="pun">]))</span><span class="pln"> $add</span><span class="pun">[</span><span class="str">'move'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">5</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'move'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">// разрешены редиректы</span><span class="pln">
        $add</span><span class="pun">[</span><span class="str">'top'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln"> </span><span class="com">// включать header в ответ</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'top'</span><span class="pun">])</span><span class="pln"> OR isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'save'</span><span class="pun">]))</span><span class="pln"> $add</span><span class="pun">[</span><span class="str">'top'</span><span class="pun">]=</span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
    curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_HEADER</span><span class="pun">,</span><span class="pln"> $add</span><span class="pun">[</span><span class="str">'top'</span><span class="pun">]);</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'proxy'</span><span class="pun">]))</span><span class="pln">
    curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_PROXY</span><span class="pun">,</span><span class="pln"> $add</span><span class="pun">[</span><span class="str">'proxy'</span><span class="pun">]);</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'ref'</span><span class="pun">]))</span><span class="pln">
    curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_REFERER</span><span class="pun">,</span><span class="pln"> $add</span><span class="pun">[</span><span class="str">'ref'</span><span class="pun">]);</span><span class="pln">
    curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_RETURNTRANSFER</span><span class="pun">,</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'save'</span><span class="pun">])?</span><span class="kwd">false</span><span class="pun">:</span><span class="kwd">true</span><span class="pun">));</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'save'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">// сохранить файл в</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">FALSE</span><span class="pun">===(</span><span class="pln">$out </span><span class="pun">=</span><span class="pln"> fopen</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'save'</span><span class="pun">],</span><span class="str">"w+"</span><span class="pun">)))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            file_put_contents</span><span class="pun">(</span><span class="pln">FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV</span><span class="pun">,</span><span class="str">"failed opening of file "</span><span class="pun">.</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'save'</span><span class="pun">].</span><span class="str">"\n"</span><span class="pun">,</span><span class="lit">8</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">exit</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_FILE</span><span class="pun">,</span><span class="pln"> $out</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
    curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_FORBID_REUSE</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
    curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_CONNECTTIMEOUT</span><span class="pun">,</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'time'</span><span class="pun">])?</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'time'</span><span class="pun">]:</span><span class="lit">120</span><span class="pun">);</span><span class="pln"> 
    curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_TIMEOUT</span><span class="pun">,</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'time'</span><span class="pun">])?</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'time'</span><span class="pun">]:</span><span class="lit">120</span><span class="pun">);</span><span class="pln">
    $no_header_params </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'xml'</span><span class="pun">,</span><span class="str">'json'</span><span class="pun">,</span><span class="str">'post'</span><span class="pun">,</span><span class="str">'move'</span><span class="pun">,</span><span class="str">'top'</span><span class="pun">,</span><span class="str">'save'</span><span class="pun">,</span><span class="str">'yupi'</span><span class="pun">,</span><span class="str">'ref'</span><span class="pun">,</span><span class="str">'proxy'</span><span class="pun">,</span><span class="str">'multi'</span><span class="pun">,</span><span class="str">'req'</span><span class="pun">,</span><span class="str">'time'</span><span class="pun">,</span><span class="str">'nobody'</span><span class="pun">);</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">empty</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">))</span><span class="pln"> </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$add </span><span class="kwd">as</span><span class="pln"> $k</span><span class="pun">=&gt;</span><span class="pln">$h</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">in_array</span><span class="pun">(</span><span class="pln">$k</span><span class="pun">,</span><span class="pln">$no_header_params</span><span class="pun">))</span><span class="pln"> $headers</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $h</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">empty</span><span class="pun">(</span><span class="pln">$headers</span><span class="pun">))</span><span class="pln">
    curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_HTTPHEADER</span><span class="pun">,</span><span class="pln"> $headers</span><span class="pun">);</span><span class="pln">
 
    </span><span class="kwd">global</span><span class="pln"> $last_curl_url</span><span class="pun">;</span><span class="pln">
    $last_curl_url</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $url</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">while</span><span class="pln"> </span><span class="pun">(</span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        usleep</span><span class="pun">(</span><span class="pln">KURL_PAUZA</span><span class="pun">);</span><span class="pln">
        $data </span><span class="pun">=</span><span class="pln"> curl_exec</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">);</span><span class="pln"> 
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">KURL_LOGIROVANIE</span><span class="pun">==</span><span class="kwd">true</span><span class="pun">)</span><span class="pln"> file_put_contents</span><span class="pun">(</span><span class="pln">FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV</span><span class="pun">,</span><span class="pln"> $data</span><span class="pun">,</span><span class="pln"> </span><span class="lit">8</span><span class="pun">);</span><span class="pln">
        $curl_errno </span><span class="pun">=</span><span class="pln"> curl_errno</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$curl_errno </span><span class="pun">&gt;</span><span class="pln"> </span><span class="lit">0</span><span class="pln"> AND $curl_errno</span><span class="pun">!=</span><span class="lit">28</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            file_put_contents</span><span class="pun">(</span><span class="pln">FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV</span><span class="pun">,</span><span class="str">'cURL Error ('</span><span class="pun">.</span><span class="pln">$curl_errno</span><span class="pun">.</span><span class="str">'): '</span><span class="pun">.</span><span class="pln">curl_error</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">).</span><span class="str">" on curl "</span><span class="pun">.</span><span class="pln">var_export</span><span class="pun">(</span><span class="pln">$last_curl_url</span><span class="pun">,</span><span class="lit">1</span><span class="pun">).</span><span class="str">"\n"</span><span class="pun">,</span><span class="lit">8</span><span class="pun">);</span><span class="pln">
            curl_close</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">exit</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'move'</span><span class="pun">]&lt;</span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
        $code </span><span class="pun">=</span><span class="pln"> curl_getinfo</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLINFO_HTTP_CODE</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$code </span><span class="pun">!=</span><span class="pln"> </span><span class="lit">301</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $code </span><span class="pun">!=</span><span class="pln"> </span><span class="lit">302</span><span class="pun">)</span><span class="pln">
            </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
        $header_start </span><span class="pun">=</span><span class="pln"> strpos</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">,</span><span class="pln"> </span><span class="str">"\r\n"</span><span class="pun">)+</span><span class="lit">2</span><span class="pun">;</span><span class="pln">
        $headers </span><span class="pun">=</span><span class="pln"> substr</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">,</span><span class="pln"> $header_start</span><span class="pun">,</span><span class="pln"> strpos</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">,</span><span class="pln"> </span><span class="str">"\r\n\r\n"</span><span class="pun">,</span><span class="pln"> $header_start</span><span class="pun">)+</span><span class="lit">2</span><span class="pun">-</span><span class="pln">$header_start</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">preg_match</span><span class="pun">(</span><span class="str">"!\r\n(?:Location|URI): *(.*?) *\r\n!"</span><span class="pun">,</span><span class="pln"> $headers</span><span class="pun">,</span><span class="pln"> $matches</span><span class="pun">))</span><span class="pln">
            </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
        $newurl </span><span class="pun">=</span><span class="pln"> $matches</span><span class="pun">[</span><span class="lit">1</span><span class="pun">];</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">strpos</span><span class="pun">(</span><span class="pln">$newurl</span><span class="pun">,</span><span class="pln"> </span><span class="str">"//"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
			$old_url_parts</span><span class="pun">=</span><span class="pln">explode</span><span class="pun">(</span><span class="str">"//"</span><span class="pun">,</span><span class="kwd">end</span><span class="pun">(</span><span class="pln">$last_curl_url</span><span class="pun">));</span><span class="pln">
			$old_url_http_part</span><span class="pun">=</span><span class="pln">$old_url_parts</span><span class="pun">[</span><span class="lit">0</span><span class="pun">];</span><span class="pln">
			$old_url_host_part</span><span class="pun">=</span><span class="pln">explode</span><span class="pun">(</span><span class="str">"/"</span><span class="pun">,</span><span class="pln">$old_url_parts</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]);</span><span class="pln">
			$newurl</span><span class="pun">=</span><span class="pln">$old_url_http_part</span><span class="pun">.</span><span class="str">'//'</span><span class="pun">.</span><span class="pln">$old_url_host_part</span><span class="pun">[</span><span class="lit">0</span><span class="pun">].</span><span class="pln">$newurl</span><span class="pun">;</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">
        curl_setopt</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">,</span><span class="pln"> CURLOPT_URL</span><span class="pun">,</span><span class="pln"> $newurl</span><span class="pun">);</span><span class="pln">
        file_put_contents</span><span class="pun">(</span><span class="pln">FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV</span><span class="pun">,</span><span class="pln"> $newurl</span><span class="pun">.</span><span class="str">"\n"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">8</span><span class="pun">);</span><span class="pln">
        $last_curl_url</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $newurl</span><span class="pun">;</span><span class="pln">
        $add</span><span class="pun">[</span><span class="str">'move'</span><span class="pun">]--;</span><span class="pln"> </span><span class="com">// уменьшение числа разрешённых редиректов</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    curl_close</span><span class="pun">(</span><span class="pln">$curl</span><span class="pun">);</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'top'</span><span class="pun">])</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $ah </span><span class="pun">=</span><span class="pln"> strpos</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">,</span><span class="pln"> </span><span class="str">"\r\n\r\n"</span><span class="pun">)+</span><span class="lit">4</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$ah</span><span class="pun">&lt;</span><span class="lit">200</span><span class="pln"> AND substr</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">,</span><span class="lit">0</span><span class="pun">,</span><span class="lit">21</span><span class="pun">)==</span><span class="str">'HTTP/1.1 100 Continue'</span><span class="pun">)</span><span class="pln">
            $ah </span><span class="pun">=</span><span class="pln"> strpos</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">,</span><span class="pln"> </span><span class="str">"\r\n\r\n"</span><span class="pun">,</span><span class="pln"> $ah</span><span class="pun">)+</span><span class="lit">4</span><span class="pun">;</span><span class="pln">
        $data </span><span class="pun">=</span><span class="pln"> substr</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">,</span><span class="pln"> $ah</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'save'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        fclose</span><span class="pun">(</span><span class="pln">$out</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
    </span><span class="kwd">return</span><span class="pln"> $data</span><span class="pun">;</span><span class="pln">    
</span><span class="pun">}</span><span class="pln">
</span><span class="com">/* аналог curl с помощью file_get_contents */</span><span class="pln">
</span><span class="kwd">function</span><span class="pln"> fget</span><span class="pun">(</span><span class="pln">$url</span><span class="pun">=</span><span class="str">""</span><span class="pun">,</span><span class="pln">$add</span><span class="pun">=</span><span class="pln">array</span><span class="pun">())</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
	$arrContextOptions</span><span class="pun">=</span><span class="pln">array</span><span class="pun">(</span><span class="pln">
	  </span><span class="str">"ssl"</span><span class="pun">=&gt;</span><span class="pln">array</span><span class="pun">(</span><span class="pln">
			</span><span class="str">"verify_peer"</span><span class="pun">=&gt;</span><span class="kwd">false</span><span class="pun">,</span><span class="pln">
			</span><span class="str">"verify_peer_name"</span><span class="pun">=&gt;</span><span class="kwd">false</span><span class="pun">,</span><span class="pln">
		</span><span class="pun">),</span><span class="pln">
	  </span><span class="str">"http"</span><span class="pun">=&gt;</span><span class="pln">array</span><span class="pun">(</span><span class="pln">
		</span><span class="str">"user_agent"</span><span class="pun">=&gt;</span><span class="str">'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0'</span><span class="pln">
	  </span><span class="pun">)</span><span class="pln"> 
	</span><span class="pun">);</span><span class="pln">

    $headers </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln">   
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'xml'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">// ajax запрос</span><span class="pln">
        $headers</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'X-Requested-With: XMLHttpRequest'</span><span class="pun">;</span><span class="pln">        
    </span><span class="pun">};</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'json'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">// json запрос</span><span class="pln">
        $headers</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Accept: application/json'</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'post'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">// post запрос</span><span class="pln">
        $arrContextOptions</span><span class="pun">[</span><span class="str">'http'</span><span class="pun">][</span><span class="str">'method'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"POST"</span><span class="pun">;</span><span class="pln">
        $arrContextOptions</span><span class="pun">[</span><span class="str">'http'</span><span class="pun">][</span><span class="str">'content'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> http_build_query</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'post'</span><span class="pun">]);</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'multi'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">// post multi/part запрос</span><span class="pln">
        $arrContextOptions</span><span class="pun">[</span><span class="str">'http'</span><span class="pun">][</span><span class="str">'method'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"POST"</span><span class="pun">;</span><span class="pln">
        $arrContextOptions</span><span class="pun">[</span><span class="str">'http'</span><span class="pun">][</span><span class="str">'content'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $add</span><span class="pun">[</span><span class="str">'multi'</span><span class="pun">];</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'req'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">// request запрос</span><span class="pln">
        $arrContextOptions</span><span class="pun">[</span><span class="str">'http'</span><span class="pun">][</span><span class="str">'method'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"POST"</span><span class="pun">;</span><span class="pln">
        $arrContextOptions</span><span class="pun">[</span><span class="str">'http'</span><span class="pun">][</span><span class="str">'content'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $add</span><span class="pun">[</span><span class="str">'req'</span><span class="pun">];</span><span class="pln">
        $headers</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Content-Type: application/json'</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'move'</span><span class="pun">]))</span><span class="pln"> $add</span><span class="pun">[</span><span class="str">'move'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">5</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'move'</span><span class="pun">]&gt;</span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">// разрешены редиректы</span><span class="pln">
        $add</span><span class="pun">[</span><span class="str">'top'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln"> </span><span class="com">// включать header в ответ</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'top'</span><span class="pun">])</span><span class="pln"> OR isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'save'</span><span class="pun">]))</span><span class="pln"> $add</span><span class="pun">[</span><span class="str">'top'</span><span class="pun">]=</span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'proxy'</span><span class="pun">]))</span><span class="pln">
    $arrContextOptions</span><span class="pun">[</span><span class="str">'http'</span><span class="pun">][</span><span class="str">'proxy'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $add</span><span class="pun">[</span><span class="str">'proxy'</span><span class="pun">];</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'ref'</span><span class="pun">]))</span><span class="pln">
    $headers</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Referer: '</span><span class="pun">.</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'ref'</span><span class="pun">];</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'save'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">// сохранить файл в</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">FALSE</span><span class="pun">===(</span><span class="pln">$out </span><span class="pun">=</span><span class="pln"> fopen</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'save'</span><span class="pun">],</span><span class="str">"w+"</span><span class="pun">)))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            file_put_contents</span><span class="pun">(</span><span class="pln">FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV</span><span class="pun">,</span><span class="str">"failed opening of file "</span><span class="pun">.</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'save'</span><span class="pun">].</span><span class="str">"\n"</span><span class="pun">,</span><span class="lit">8</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">exit</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
    $arrContextOptions</span><span class="pun">[</span><span class="str">'http'</span><span class="pun">][</span><span class="str">'timeout'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'time'</span><span class="pun">])?</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'time'</span><span class="pun">]:</span><span class="lit">10</span><span class="pun">;</span><span class="pln">
    $no_header_params </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'xml'</span><span class="pun">,</span><span class="str">'json'</span><span class="pun">,</span><span class="str">'post'</span><span class="pun">,</span><span class="str">'move'</span><span class="pun">,</span><span class="str">'top'</span><span class="pun">,</span><span class="str">'save'</span><span class="pun">,</span><span class="str">'yupi'</span><span class="pun">,</span><span class="str">'ref'</span><span class="pun">,</span><span class="str">'proxy'</span><span class="pun">,</span><span class="str">'multi'</span><span class="pun">,</span><span class="str">'req'</span><span class="pun">,</span><span class="str">'time'</span><span class="pun">);</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">empty</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">))</span><span class="pln"> </span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$add </span><span class="kwd">as</span><span class="pln"> $k</span><span class="pun">=&gt;</span><span class="pln">$h</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">in_array</span><span class="pun">(</span><span class="pln">$k</span><span class="pun">,</span><span class="pln">$no_header_params</span><span class="pun">))</span><span class="pln"> $headers</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $h</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'yupi'</span><span class="pun">]))</span><span class="pln">
    $headers</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Authorization : Basic '</span><span class="pun">.</span><span class="pln">base64_encode</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'yupi'</span><span class="pun">]);</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">empty</span><span class="pun">(</span><span class="pln">$headers</span><span class="pun">))</span><span class="pln">
    $arrContextOptions</span><span class="pun">[</span><span class="str">'http'</span><span class="pun">][</span><span class="str">'header'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $headers</span><span class="pun">;</span><span class="pln">
 
    </span><span class="kwd">global</span><span class="pln"> $last_curl_url</span><span class="pun">;</span><span class="pln">
    $last_curl_url</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $url</span><span class="pun">;</span><span class="pln">
    usleep</span><span class="pun">(</span><span class="pln">KURL_PAUZA</span><span class="pun">);</span><span class="pln">
    $data </span><span class="pun">=</span><span class="pln"> file_get_contents</span><span class="pun">(</span><span class="pln">$url</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="pln"> stream_context_create</span><span class="pun">(</span><span class="pln">$arrContextOptions</span><span class="pun">));</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">KURL_LOGIROVANIE</span><span class="pun">==</span><span class="kwd">true</span><span class="pun">)</span><span class="pln"> file_put_contents</span><span class="pun">(</span><span class="pln">FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV</span><span class="pun">,</span><span class="pln"> $data</span><span class="pun">,</span><span class="pln"> </span><span class="lit">8</span><span class="pun">);</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$add</span><span class="pun">[</span><span class="str">'save'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        fclose</span><span class="pun">(</span><span class="pln">$out</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
    </span><span class="kwd">return</span><span class="pln"> $data</span><span class="pun">;</span><span class="pln">    
</span><span class="pun">}</span><span class="pln">
</span><span class="com">// сетевой запрос, скачивающий файл с помощью консольной команды wget</span><span class="pln">
</span><span class="kwd">function</span><span class="pln"> wget</span><span class="pun">(</span><span class="pln">$url</span><span class="pun">=</span><span class="str">""</span><span class="pun">,</span><span class="pln">$filename</span><span class="pun">=</span><span class="str">""</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">function_exists</span><span class="pun">(</span><span class="str">'system'</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
		usleep</span><span class="pun">(</span><span class="pln">KURL_PAUZA</span><span class="pun">);</span><span class="pln">
		system</span><span class="pun">(</span><span class="str">'wget -O '</span><span class="pun">.</span><span class="pln">$filename</span><span class="pun">.</span><span class="str">' '</span><span class="pun">.</span><span class="pln">$url</span><span class="pun">,</span><span class="pln">$retval</span><span class="pun">);</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
    </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$retval</span><span class="pun">===</span><span class="lit">0</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="com">// найти участок кода между двух строк</span><span class="pln">
</span><span class="kwd">function</span><span class="pln"> iska</span><span class="pun">(</span><span class="pln">$nachalo</span><span class="pun">,</span><span class="pln"> $konec</span><span class="pun">,</span><span class="pln"> $string</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">preg_match</span><span class="pun">(</span><span class="str">'/'</span><span class="pun">.</span><span class="pln">preg_quote</span><span class="pun">(</span><span class="pln">$nachalo</span><span class="pun">,</span><span class="str">'/'</span><span class="pun">).</span><span class="str">'(.*)'</span><span class="pun">.</span><span class="pln">preg_quote</span><span class="pun">(</span><span class="pln">$konec</span><span class="pun">,</span><span class="str">'/'</span><span class="pun">).</span><span class="str">'/ismU'</span><span class="pun">,</span><span class="pln">$string</span><span class="pun">,</span><span class="pln">$nashli</span><span class="pun">))</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">return</span><span class="pln"> $nashli</span><span class="pun">[</span><span class="lit">1</span><span class="pun">];</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="com">// удалить участок кода между двух строк</span><span class="pln">
</span><span class="kwd">function</span><span class="pln"> udal</span><span class="pun">(</span><span class="pln">$nachalo</span><span class="pun">,</span><span class="pln"> $konec</span><span class="pun">,</span><span class="pln"> $string</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">return</span><span class="pln"> preg_replace</span><span class="pun">(</span><span class="str">'/'</span><span class="pun">.</span><span class="pln">preg_quote</span><span class="pun">(</span><span class="pln">$nachalo</span><span class="pun">,</span><span class="str">'/'</span><span class="pun">).</span><span class="str">'.*'</span><span class="pun">.</span><span class="pln">preg_quote</span><span class="pun">(</span><span class="pln">$konec</span><span class="pun">,</span><span class="str">'/'</span><span class="pun">).</span><span class="str">'/ismU'</span><span class="pun">,</span><span class="str">''</span><span class="pun">,</span><span class="pln">$string</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="com">// очистка логов запросов</span><span class="pln">
</span><span class="kwd">function</span><span class="pln"> ochistka_logov_zaprosov</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
	file_put_contents</span><span class="pun">(</span><span class="pln">FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">);</span><span class="pln">    
</span><span class="pun">}</span><span class="pln">
</span><span class="com">// проверка, давно ли не было запросов</span><span class="pln">
</span><span class="kwd">function</span><span class="pln"> dolgo_ne_bylo_http_zaprosov</span><span class="pun">(</span><span class="pln">$dolgo</span><span class="pun">=</span><span class="lit">50</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
	$a </span><span class="pun">=</span><span class="pln"> time</span><span class="pun">();</span><span class="pln">
	$b </span><span class="pun">=</span><span class="pln"> filemtime</span><span class="pun">(</span><span class="pln">FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV</span><span class="pun">);</span><span class="pln">
	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$a</span><span class="pun">-</span><span class="pln">$b</span><span class="pun">)&gt;</span><span class="pln">$dolgo </span><span class="pun">)</span><span class="pln"> </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span></pre>

<p>
	Содержимое файла obnov.php
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted">
<span class="pun">&lt;?</span><span class="pln">php
ignore_user_abort</span><span class="pun">(</span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
ini_set</span><span class="pun">(</span><span class="str">"max_execution_time"</span><span class="pun">,</span><span class="lit">3600</span><span class="pun">);</span><span class="pln">
ini_set</span><span class="pun">(</span><span class="str">"memory_limit"</span><span class="pun">,</span><span class="str">"1200M"</span><span class="pun">);</span><span class="pln">
</span><span class="kwd">require</span><span class="pln"> </span><span class="str">'nget.php'</span><span class="pun">;</span><span class="pln">
$f</span><span class="pun">=</span><span class="pln">time</span><span class="pun">();</span><span class="pln">

$wd</span><span class="pun">=</span><span class="pln">__DIR__</span><span class="pun">.</span><span class="str">'/777/'</span><span class="pun">;</span><span class="pln"> </span><span class="com">// директория для записи файлов</span><span class="pln">

$u </span><span class="pun">=</span><span class="pln"> </span><span class="str">"https://download.mozilla.org/?product=firefox-latest-ssl&amp;os=linux64&amp;lang=ru"</span><span class="pun">;</span><span class="pln">
var_dump</span><span class="pun">(</span><span class="pln">$u</span><span class="pun">);</span><span class="pln">
$h</span><span class="pun">=</span><span class="pln">nget</span><span class="pun">(</span><span class="pln">$u</span><span class="pun">,</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'nobody'</span><span class="pun">=&gt;</span><span class="lit">1</span><span class="pun">));</span><span class="pln">
</span><span class="com">//echo $h;</span><span class="pln">
$n</span><span class="pun">=</span><span class="pln">iska</span><span class="pun">(</span><span class="str">'releases/'</span><span class="pun">,</span><span class="str">'/'</span><span class="pun">,</span><span class="pln">$h</span><span class="pun">);</span><span class="pln">
var_dump</span><span class="pun">(</span><span class="pln">$n</span><span class="pun">);</span><span class="pln">

$o</span><span class="pun">=</span><span class="lit">1</span><span class="pun">;</span><span class="pln"> </span><span class="com">// обновлять ли программу</span><span class="pln">
</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">file_exists</span><span class="pun">(</span><span class="pln">$wd</span><span class="pun">.</span><span class="str">'firefox.version'</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
	$pn</span><span class="pun">=</span><span class="pln">file_get_contents</span><span class="pun">(</span><span class="pln">$wd</span><span class="pun">.</span><span class="str">'firefox.version'</span><span class="pun">);</span><span class="pln">
	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$pn</span><span class="pun">==</span><span class="pln">$n</span><span class="pun">)</span><span class="pln"> $o</span><span class="pun">=</span><span class="lit">0</span><span class="pun">;</span><span class="pln"> 
</span><span class="pun">}</span><span class="pln">
file_put_contents</span><span class="pun">(</span><span class="pln">$wd</span><span class="pun">.</span><span class="str">'firefox.version'</span><span class="pun">,</span><span class="pln">$n</span><span class="pun">);</span><span class="pln">

</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$o</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">preg_match</span><span class="pun">(</span><span class="str">"!\r\n(?:Location|URI): *(.*?) *\r\n!"</span><span class="pun">,</span><span class="pln"> $h</span><span class="pun">,</span><span class="pln"> $matches</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $newurl </span><span class="pun">=</span><span class="pln"> $matches</span><span class="pun">[</span><span class="lit">1</span><span class="pun">];</span><span class="pln">    
        var_dump</span><span class="pun">(</span><span class="pln">$newurl</span><span class="pun">);</span><span class="pln">
        unlink</span><span class="pun">(</span><span class="pln">$wd</span><span class="pun">.</span><span class="str">'firefox.tar.bz2'</span><span class="pun">);</span><span class="pln">
		nget</span><span class="pun">(</span><span class="pln">$newurl</span><span class="pun">,</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'save'</span><span class="pun">=&gt;</span><span class="pln">$wd</span><span class="pun">.</span><span class="str">'firefox.tar.bz2'</span><span class="pun">));</span><span class="pln">
		$output </span><span class="pun">=</span><span class="pln"> shell_exec</span><span class="pun">(</span><span class="str">'tar -vxjf '</span><span class="pun">.</span><span class="pln">$wd</span><span class="pun">.</span><span class="str">'firefox.tar.bz2 -C /opt'</span><span class="pun">);</span><span class="pln">
		file_put_contents</span><span class="pun">(</span><span class="pln">$wd</span><span class="pun">.</span><span class="str">'firefox.output.txt'</span><span class="pun">,</span><span class="pln">$output</span><span class="pun">);</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
echo </span><span class="str">'firefox ok'</span><span class="pun">;</span><span class="pln">
echo </span><span class="str">"\n"</span><span class="pun">;</span><span class="pln">

$u </span><span class="pun">=</span><span class="pln"> </span><span class="str">"https://get.adobe.com/ru/flashplayer/"</span><span class="pun">;</span><span class="pln">
var_dump</span><span class="pun">(</span><span class="pln">$u</span><span class="pun">);</span><span class="pln">
$h</span><span class="pun">=</span><span class="pln">nget</span><span class="pun">(</span><span class="pln">$u</span><span class="pun">,</span><span class="pln"> array</span><span class="pun">());</span><span class="pln">
</span><span class="com">//echo $h;</span><span class="pln">
$n</span><span class="pun">=</span><span class="pln">trim</span><span class="pun">(</span><span class="pln">iska</span><span class="pun">(</span><span class="str">'Версия'</span><span class="pun">,</span><span class="str">'&lt;'</span><span class="pun">,</span><span class="pln">$h</span><span class="pun">));</span><span class="pln">
var_dump</span><span class="pun">(</span><span class="pln">$n</span><span class="pun">);</span><span class="pln">

$o</span><span class="pun">=</span><span class="lit">1</span><span class="pun">;</span><span class="pln"> </span><span class="com">// обновлять ли программу</span><span class="pln">
</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">file_exists</span><span class="pun">(</span><span class="pln">$wd</span><span class="pun">.</span><span class="str">'flash.version'</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
	$pn</span><span class="pun">=</span><span class="pln">file_get_contents</span><span class="pun">(</span><span class="pln">$wd</span><span class="pun">.</span><span class="str">'flash.version'</span><span class="pun">);</span><span class="pln">
	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$pn</span><span class="pun">==</span><span class="pln">$n</span><span class="pun">)</span><span class="pln"> $o</span><span class="pun">=</span><span class="lit">0</span><span class="pun">;</span><span class="pln"> 
</span><span class="pun">}</span><span class="pln">
file_put_contents</span><span class="pun">(</span><span class="pln">$wd</span><span class="pun">.</span><span class="str">'flash.version'</span><span class="pun">,</span><span class="pln">$n</span><span class="pun">);</span><span class="pln">

</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$o</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
	$h1 </span><span class="pun">=</span><span class="pln"> iska</span><span class="pun">(</span><span class="str">'case "3":'</span><span class="pun">,</span><span class="str">'case "4":'</span><span class="pun">,</span><span class="pln">$h</span><span class="pun">);</span><span class="pln">
	var_dump</span><span class="pun">(</span><span class="pln">$h1</span><span class="pun">);</span><span class="pln">
	$h2 </span><span class="pun">=</span><span class="pln"> iska</span><span class="pun">(</span><span class="str">'$("#buttonDownload").attr("href","'</span><span class="pun">,</span><span class="str">'"'</span><span class="pun">,</span><span class="pln">$h1</span><span class="pun">);</span><span class="pln">
	var_dump</span><span class="pun">(</span><span class="pln">$h2</span><span class="pun">);</span><span class="pln">
	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$h2</span><span class="pun">!==</span><span class="str">''</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $h</span><span class="pun">=</span><span class="pln">nget</span><span class="pun">(</span><span class="str">"https://get.adobe.com/"</span><span class="pun">.</span><span class="pln">$h2</span><span class="pun">,</span><span class="pln"> array</span><span class="pun">());</span><span class="pln">
        $newurl </span><span class="pun">=</span><span class="pln"> iska</span><span class="pun">(</span><span class="str">"location.href = '"</span><span class="pun">,</span><span class="str">"'"</span><span class="pun">,</span><span class="pln">$h</span><span class="pun">);</span><span class="pln">
        sleep</span><span class="pun">(</span><span class="lit">2</span><span class="pun">);</span><span class="pln">
		unlink</span><span class="pun">(</span><span class="pln">$wd</span><span class="pun">.</span><span class="str">'flash.tar.gz'</span><span class="pun">);</span><span class="pln">
		var_dump</span><span class="pun">(</span><span class="pln">$newurl</span><span class="pun">);</span><span class="pln">
		nget</span><span class="pun">(</span><span class="pln">$newurl</span><span class="pun">,</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'save'</span><span class="pun">=&gt;</span><span class="pln">$wd</span><span class="pun">.</span><span class="str">'flash.tar.gz'</span><span class="pun">));</span><span class="pln">
		$output </span><span class="pun">=</span><span class="pln"> shell_exec</span><span class="pun">(</span><span class="str">'tar -xzvf '</span><span class="pun">.</span><span class="pln">$wd</span><span class="pun">.</span><span class="str">'flash.tar.gz -C /usr/lib/mozilla/plugins libflashplayer.so'</span><span class="pun">);</span><span class="pln">
		$output2 </span><span class="pun">=</span><span class="pln"> shell_exec</span><span class="pun">(</span><span class="str">'tar -xzvf '</span><span class="pun">.</span><span class="pln">$wd</span><span class="pun">.</span><span class="str">'flash.tar.gz -C / usr'</span><span class="pun">);</span><span class="pln">
		file_put_contents</span><span class="pun">(</span><span class="pln">$wd</span><span class="pun">.</span><span class="str">'flash.output.txt'</span><span class="pun">,</span><span class="pln">$output</span><span class="pun">.</span><span class="str">"\n"</span><span class="pun">.</span><span class="pln">$output2</span><span class="pun">);</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
echo </span><span class="str">'flash ok'</span><span class="pun">;</span><span class="pln">
echo </span><span class="str">"\n"</span><span class="pun">;</span></pre>

<p>
	Для обновления браузера firefox и flash плагина достаточно в терминале выполнить команду
</p>

<pre class="ipsCode">
sudo php -q /директория_в_которой_находятся_файлы_сайта/obnov.php</pre>

<p>
	Если php не установлен, его можно установить с помощью команды
</p>

<pre class="ipsCode">
sudo apt-get install php</pre>

<p>
	Поскольку скрипт устанавливает программу firefox в директорию opt, для запуска firefox нужно будет использовать команду
</p>

<pre class="ipsCode">
/opt/firefox/firefox -P default</pre>

<p>
	Если раньше firefox вы запускали с помощью другой команды, то может потребоваться изменить команду запуска в меню автозагрузки и в меню запуска приложений.
</p>
]]></description><guid isPermaLink="false">174305</guid><pubDate>Mon, 23 Sep 2019 18:12:02 +0000</pubDate></item><item><title>Flextype Components - &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x44B; &#x434;&#x43B;&#x44F; &#x440;&#x430;&#x437;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x438; &#x432;&#x435;&#x431; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x439;</title><link>https://linux.ru/forum/topic/173452-flextype-components-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8-%D0%B2%D0%B5%D0%B1-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9/</link><description><![CDATA[
<p>
	<strong>Доброго времени суток!</strong>
</p>

<p>
	Разрешите представить мой проект, который делаю уже довольно давно <img alt=":)" data-emoticon="" height="20" src="https://linux.ru/forum/uploads/emoticons/default_smile.png" srcset="https://linux.ru/forum/uploads/emoticons/smile@2x.png 2x" title=":)" width="20"> Может вам он тоже пригодится.<br>
	Flextype Components это набор разделенных (decoupled) компонентов многократного использования. <br>
	Все они решают распространенные проблемы, с которыми приходиться сталкиваться в процессе веб-разработки.
</p>

<p>
	Компоненты постоянно улучшаются и добавляются новые.
</p>

<p>
	Github: <a href="https://github.com/flextype-components" rel="external nofollow">https://github.com/flextype-components</a><br>
	Сайт: <a href="http://components.flextype.org" rel="external nofollow">http://components.flextype.org</a>
</p>
]]></description><guid isPermaLink="false">173452</guid><pubDate>Fri, 11 May 2018 11:44:12 +0000</pubDate></item><item><title>&#x41F;&#x440;&#x43E;&#x448;&#x438;&#x432;&#x43A;&#x430; &#x434;&#x43B;&#x44F; IP &#x43A;&#x430;&#x43C;&#x435;&#x440;</title><link>https://linux.ru/forum/topic/173380-%D0%BF%D1%80%D0%BE%D1%88%D0%B8%D0%B2%D0%BA%D0%B0-%D0%B4%D0%BB%D1%8F-ip-%D0%BA%D0%B0%D0%BC%D0%B5%D1%80/</link><description><![CDATA[<p>
	Здравствуйте! Необходимо создать прошивку для IP камер.Главное требование - это мгновенное переподключение при потери связи. Кто знает на чем она пишется? <a href="http://gisys.ru/catalog/ip-videonablyudenie/videokamery6535/korpusnye6540/HiWatch-ip-korpus/" rel="external nofollow">IP камеры</a> типа этих подскажите. Буду признателен. Спасибо.  
</p>]]></description><guid isPermaLink="false">173380</guid><pubDate>Sun, 10 Dec 2017 16:44:36 +0000</pubDate></item><item><title>Python &#x432; Ubuntu 16.04</title><link>https://linux.ru/forum/topic/173351-python-%D0%B2-ubuntu-1604/</link><description><![CDATA[<p>
	Посоветуйте новичку среду разработки python в линуксе и объясните как установить. В гугле искал и всё не то. Перешел на эту ОС позавчера и пока ещё много чего не понимаю. Среду разработки желательно с подсвечивающим синтаксисом.
</p>]]></description><guid isPermaLink="false">173351</guid><pubDate>Tue, 28 Feb 2017 11:49:56 +0000</pubDate></item><item><title>&#x43B;&#x430;&#x431;&#x430;</title><link>https://linux.ru/forum/topic/172208-%D0%BB%D0%B0%D0%B1%D0%B0/</link><description><![CDATA[
<p>Вывод на экран списка параметров командной строки с указанием номера каждого параметра.</p>
<p>Как это сделать, никак не могу понять, помогите плз)</p>
]]></description><guid isPermaLink="false">172208</guid><pubDate>Thu, 09 Dec 2010 08:19:45 +0000</pubDate></item><item><title>&#x423;&#x437;&#x43D;&#x430;&#x442;&#x44C; &#x43F;&#x440;&#x43E;&#x446;&#x435;&#x441;&#x441; &#x43F;&#x43E;&#x440;&#x43E;&#x434;&#x438;&#x432;&#x448;&#x438;&#x439; &#x43F;&#x440;&#x43E;&#x446;&#x435;&#x441;&#x441; &#x438;&#x437; &#x441;&#x442;&#x43E;&#x440;&#x43E;&#x43D;&#x43D;&#x435;&#x433;&#x43E;</title><link>https://linux.ru/forum/topic/173311-%D1%83%D0%B7%D0%BD%D0%B0%D1%82%D1%8C-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81-%D0%BF%D0%BE%D1%80%D0%BE%D0%B4%D0%B8%D0%B2%D1%88%D0%B8%D0%B9-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81-%D0%B8%D0%B7-%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B5%D0%B3%D0%BE/</link><description><![CDATA[
<p>
	<span style="color:rgb(186,189,182);font-family:Arial, sans-serif;font-size:medium;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(39,44,45);float:none;">суть: </span>
</p>

<p>
	<span style="color:rgb(186,189,182);font-family:Arial, sans-serif;font-size:medium;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(39,44,45);float:none;">1) есть процесс </span>
</p>

<p>
	<span style="color:rgb(186,189,182);font-family:Arial, sans-serif;font-size:medium;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(39,44,45);float:none;">2) он создает дочерний процесс, который шлет сигнал стороннему и мгновенно исчезает </span>
</p>

<p>
	<span style="color:rgb(186,189,182);font-family:Arial, sans-serif;font-size:medium;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(39,44,45);float:none;">3) нужно из стороннего узнать процесс, который породил сигналивший </span>
</p>

<p>
	<span style="color:rgb(186,189,182);font-family:Arial, sans-serif;font-size:medium;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(39,44,45);float:none;">Такое возможно сделать?</span>
</p>

<p>
	<span style="color:rgb(186,189,182);font-family:Arial, sans-serif;font-size:medium;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(39,44,45);float:none;">Или менять идеальный вариант и сложный на человеческий. </span>
</p>

<p>
	<span style="color:rgb(186,189,182);font-family:Arial, sans-serif;font-size:medium;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(39,44,45);float:none;">Господа бородачи(волшебники) - выручайте <img alt=":)" data-emoticon="" height="20" src="https://linux.ru/forum/uploads/emoticons/default_smile.png" srcset="https://linux.ru/forum/uploads/emoticons/smile@2x.png 2x" title=":)" width="20"></span>
</p>
]]></description><guid isPermaLink="false">173311</guid><pubDate>Tue, 15 Nov 2016 14:49:54 +0000</pubDate></item><item><title>Linux Standard Base, POSIX</title><link>https://linux.ru/forum/topic/173130-linux-standard-base-posix/</link><description><![CDATA[
<p>Как писать программы, используя стандарты Linux Standard Base и POSIX ?</p>
<p>В чем отличие использование стандарта?</p>
]]></description><guid isPermaLink="false">173130</guid><pubDate>Sat, 01 Nov 2014 14:28:57 +0000</pubDate></item><item><title>&#x43A;&#x442;&#x43E;-&#x442;&#x43E; &#x43F;&#x438;&#x448;&#x435;&#x442; &#x432; /var</title><link>https://linux.ru/forum/topic/172881-%D0%BA%D1%82%D0%BE-%D1%82%D0%BE-%D0%BF%D0%B8%D1%88%D0%B5%D1%82-%D0%B2-var/</link><description><![CDATA[
<p>При работе моей программы в /var (живет на отдельном разделе) пишется до 3Mb/s. Это точно не запись логов. Как определить что туда пишется (при этом объем свободного места не меняется).</p>
<p>Программа (через mysql) пишет на диски много данных, но не в /var.</p>
]]></description><guid isPermaLink="false">172881</guid><pubDate>Fri, 18 May 2012 17:53:45 +0000</pubDate></item><item><title>&#x41D;&#x435; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x441;&#x43E;&#x431;&#x440;&#x430;&#x442;&#x44C; PHP &#x43F;&#x43E;&#x434; Mipsel</title><link>https://linux.ru/forum/topic/172866-%D0%BD%D0%B5-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B0%D0%B5%D1%82%D1%81%D1%8F-%D1%81%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D1%8C-php-%D0%BF%D0%BE%D0%B4-mipsel/</link><description><![CDATA[
<p>Доброе время суток!</p>
<p>Столкнулся со следующей проблемой. Мне необходимо собрать PHP под архитектуру Mipsel с определенными ключами. Поставил Ubuntu 11.04, toolchain (как описано здесь <a href="http://www.hub.ru/wiki/%D0%9A%D1%80%D0%BE%D1%81%D1%81-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F" rel="external nofollow">http:// www.hub.ru/wiki/%D0%9A%D1%80%D0%BE%D1%81%D1%81-%D0%BA%D0%BE% D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F</a>).</p>
<p>Для проверски сделал make mc-ipk. Сборка прошла, пакет сформировался (т.е. предположительно все работает).</p>
<p>Приступил к сборе php. И возникла следующая ошибка:</p>
<p></p>
<div><pre>./configure: 11818: 5: Bad file descriptor./configure: 11818: :: checking for __dn_skipname in -lbind: not found./configure: 11818: 6: Bad file descriptor./configure: 11818: checking for __dn_skipname in -lbind... : not found./configure: 11818: ac_fn_c_try_link: not found./configure: 11818: 5: Bad file descriptor./configure: 11818: :: result: no: not found./configure: 11818: 6: Bad file descriptor./configure: 11818: no: not found./configure: 11823: 5: Bad file descriptor./configure: 11823: :: checking for ANSI C header files: not found./configure: 11823: 6: Bad file descriptor./configure: 11823: checking for ANSI C header files... : not found./configure: 11922: ac_fn_c_try_compile: not found./configure: 11924: 5: Bad file descriptor./configure: 11924: :: result: no: not found./configure: 11924: 6: Bad file descriptor./configure: 11924: no: not found./configure: 11971: ac_cv_header_dirent_dirent.h: not found./configure: 11971: 5: Bad file descriptor./configure: 11971: :: checking for dirent.h that defines DIR: not found./configure: 11971: 6: Bad file descriptor./configure: 11971: checking for dirent.h that defines DIR... : not foundeval: 1: Bad substitutionmake: *** [/root/optware/oleg/builds/php/.configured] Ошибка 2</pre></div>
<p>И всё! Гуглил и задавал вопросы яндексу - ничего не помогло! Перерыл php.mk и configurate - все без толку! Помогите, вторую ночь не сплю!</p>
]]></description><guid isPermaLink="false">172866</guid><pubDate>Sun, 06 May 2012 08:24:06 +0000</pubDate></item><item><title>&#x414;&#x435;&#x43C;&#x43E;&#x43D;</title><link>https://linux.ru/forum/topic/172864-%D0%B4%D0%B5%D0%BC%D0%BE%D0%BD/</link><description><![CDATA[
<p>Собсно вопрос. как написать демона и на чем лучше?</p>
<p>Линки на мануалы приветствуются.</p>
<p>Суть задачи такая: написать приблуду, которая ломится в базу (mysql), читает оттуда данные и ... запускает других "демонов", которые выполняют в определенный промежут времени свои задачи... ну или убивает их, если такая инструкция.</p>
<p>Вот и думаю, на чем собсно писать. мож просто на bash ?</p>
<p>Ничего сверхестественного скрипт выполнять не будет, 99% отправлять http запросы. (wget /dev/null/)</p>
<p>1% заливать картинки тобишь POST.</p>
<p>зы оч принципиально, если что-то упадет, то оно ОБЯЗАНО запуститься... как-то так )</p>
]]></description><guid isPermaLink="false">172864</guid><pubDate>Fri, 04 May 2012 14:22:35 +0000</pubDate></item><item><title>&#x414;&#x440;&#x43E;&#x431;&#x43D;&#x430;&#x44F; &#x447;&#x430;&#x441;&#x442;&#x44C;</title><link>https://linux.ru/forum/topic/172739-%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%B0%D1%8F-%D1%87%D0%B0%D1%81%D1%82%D1%8C/</link><description><![CDATA[
<p>возникла проблема при делении двух чисел - результат всегда целый. Как сделать дробный</p>
<p></p>
<div><pre>let res=$s/$pecho "Результат= $res"</pre></div>
]]></description><guid isPermaLink="false">172739</guid><pubDate>Mon, 06 Feb 2012 14:52:36 +0000</pubDate></item><item><title>&#x412;&#x438;&#x432;&#x435;&#x441;&#x442;&#x438; Xcloc &#x43D;&#x430; &#x435;&#x43A;&#x440;&#x430;&#x43D; (Bash)</title><link>https://linux.ru/forum/topic/172737-%D0%B2%D0%B8%D0%B2%D0%B5%D1%81%D1%82%D0%B8-xcloc-%D0%BD%D0%B0-%D0%B5%D0%BA%D1%80%D0%B0%D0%BD-bash/</link><description><![CDATA[
<p>Как можна вивести на екран xcloc , для оределенного участка екрана. У меня простой сценарий и в одном условии нада вивести xcloc в правом нижнем углу</p>
<p></p>
<div><pre>#! /bin/bashecho "Введите значение Х"read x	if [ $x -eq 3 ]	then echo "х равно 3, в етом случае проведем расчот формулы.Введите значение a" read aecho "Введите значение c" read cecho "Введите значение m" read m	i=1	for((i; i&lt;6; i++))	do 	let s=$m*$i	doneecho "числитель= $s"let p=2*$a-4*$cecho "знаменатель= $p"let res=$s/$pecho "Результат= $res"		else if [ $x -gt 9 ]		then  echo "значение x больше за 9		На екран выводяться часы"		 xclock					else if [ $x -ne 3 -a $x -le 9 ]			then  echo "x Менше или равно 9 но не раавно 3"				fi		fi	fi</pre></div>
]]></description><guid isPermaLink="false">172737</guid><pubDate>Sat, 04 Feb 2012 21:47:50 +0000</pubDate></item><item><title>&#x417;&#x430;&#x434;&#x430;&#x447;&#x430;</title><link>https://linux.ru/forum/topic/172707-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0/</link><description><![CDATA[<p>Напишите на C программу, которая выдает в формате ls информацию о содержимом всех директорий, содержащихся в пути от корневого каталога до текущего местоположения программы, либо в пути, указанном в командной строке (если он задан).</p>]]></description><guid isPermaLink="false">172707</guid><pubDate>Wed, 25 Jan 2012 15:24:09 +0000</pubDate></item><item><title>&#x420;&#x438;&#x441;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435;</title><link>https://linux.ru/forum/topic/172656-%D1%80%D0%B8%D1%81%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5/</link><description><![CDATA[
<p>Нигде не могу найти как нарисовать отрезок длиной 1 см, так что бы при печати он был 1 см.</p>
<p>Нашёл информацию только по библиотеке cario, но там вроде такого нет, либо я понять не могу.</p>
<p>программирую на c# с использованием GTK.</p>
<p>Подскажите пожалуйста как? или дайте ссылку...</p>
<p>Спасибо.</p>
]]></description><guid isPermaLink="false">172656</guid><pubDate>Sun, 25 Dec 2011 08:04:03 +0000</pubDate></item><item><title>&#x43E;&#x431;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x430; &#x444;&#x430;&#x439;&#x43B;&#x43E;&#x432; &#x432;&#x438;&#x434;&#x430; f01-20</title><link>https://linux.ru/forum/topic/172644-%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2-%D0%B2%D0%B8%D0%B4%D0%B0-f01-20/</link><description><![CDATA[
<p>Сабж</p>
<p>нужно гзипнуть 1 командой</p>
<p>Не пойму как задать шаблон, таким образом чтобы выделить диапазон 09-14</p>
<p>С файлами начинающимися на 0 проблем нет, но когда нужно выделять что-то выше 10 начинаются грабли... Файлы либо не сжимаются, либо сжимаются те, которые сжиматься не должны (например f2 и тд)</p>
]]></description><guid isPermaLink="false">172644</guid><pubDate>Mon, 19 Dec 2011 10:59:11 +0000</pubDate></item><item><title>&#x41F;&#x440;&#x43E;&#x431;&#x43B;&#x435;&#x43C;&#x430; &#x441; NPlot &#x432; GTK#</title><link>https://linux.ru/forum/topic/172597-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0-%D1%81-nplot-%D0%B2-gtk/</link><description><![CDATA[
<p>При использовании библиотеки NPlot.dll в среде MonoDevelop возникает проблема. </p>
<p>Так выглядит файл MainWindow.cs:</p>
<p></p>
<div><pre>using System;using Gtk;using NPlot.Gtk;using NPlot;using System.Drawing;using System.Drawing.Imaging;using System.Collections.Generic;using System.Threading;public partial class MainWindow: Gtk.Window{        public  NPlot.Gtk.PlotSurface2D Plot = new NPlot.Gtk.PlotSurface2D();        public List&lt;int&gt; A =new List&lt;int&gt;();        public Random Rand = new Random();        public static Thread MyThread;        public MainWindow (): base (Gtk.WindowType.Toplevel)        {                Build ();                this.frame.Add(Plot);                A.Add(1);                A.Add(2);                A.Add(4);                DrawPlot(A);                Plot.WidthRequest=400;                Plot.HeightRequest=300;                Plot.Show();        }        public void DrawPlot(List&lt;int&gt; Line)        {                Plot.Clear();                LinePlot lp = new LinePlot(A);                lp.DataSource = Line;                Plot.Add( lp );        }        public void Run()        {                for(;                {                        Thread.Sleep(300);                        A.Add(Rand.Next(10));                        DrawPlot(A);                        Plot.Refresh();                }        }        protected void OnButtonClicked (object sender, System.EventArgs e)        {                MyThread = new Thread(new ThreadStart(Run));                MyThread.Start();        }}</pre></div>
<p>После нескольких удачных циклов программа перестает отрисовывать окно. Если растянуть окно мышью, то прорисовка продолжается, а потом снова останавливается.</p>
<p>С чем может быть связана проблема? Или ЧЯДНТ?</p>
]]></description><guid isPermaLink="false">172597</guid><pubDate>Tue, 15 Nov 2011 21:06:38 +0000</pubDate></item><item><title>shell &#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442; &#x43F;&#x440;&#x43E;&#x431;&#x43B;&#x435;&#x43C;&#x430;</title><link>https://linux.ru/forum/topic/172594-shell-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0/</link><description><![CDATA[
<p>Не могу написать shell скрипт.</p>
<p><cite>Цитата:</cite></p>
<p></p>
<div>Всем пользователям,не включенным в заданную первым параметром группу,посылает по почте сообщения о текущем времени и дате</div>
<p></p>
<div>Всем пользователям, включенным в заданную первым параметром группу, посылает по почте сообщения HAPPY NEW YEAR!</div>
<p></p>
<p>З.Ы. как написать чтобы при посылке письма не появлялось Cc: и другие параметры письма,а сразу заполнялись при помощи скрипта.</p>
<p>mail -s "login" а дальше??</p>
]]></description><guid isPermaLink="false">172594</guid><pubDate>Sun, 13 Nov 2011 15:55:23 +0000</pubDate></item><item><title>&#x420;&#x430;&#x437;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x430; &#x438;&#x433;&#x440;</title><link>https://linux.ru/forum/topic/172580-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0-%D0%B8%D0%B3%D1%80/</link><description><![CDATA[
<p>Здравствуйте, неделю назад начал писать небольшую игру "Охота на уток", что-то вроде старой игры Мурхун под виндовс, только в 3D и с управлением от первого лица. Вот уже готов небольшой лесок и утки вродебы летают, но решил я развивать идею дальше. Планируется симулятор охоты, проект будет коммерческим. Используется открытый движок Irrlicht, звуковая библиотека irrKlang (возможно будет другая). Мне требуются 3D моделеры, нужны модели птиц с анимацией полета, деревья, собака. Так же нужен дизайнер для оформления меню игры, карт.</p>
<p>Требования просты: исполнительность, наличие свободного времени, желание разрабатывать игры под линукс.</p>
<p>Как я уже говорил проект планируется как коммерческий, но хочу предупредить, что всетаки что-то может пойти не так и игра будет бесплатной. В таком случае ваш труд все равно будет оплачен, но значительно меньше.</p>
<p>Об риске я предупредил. Кто заинтересовался пишите.</p>
<p>Контакты:</p>
<p>mail: poweredbydark[dog]mail.ru</p>
<p>skype: jurbiny1 </p>
]]></description><guid isPermaLink="false">172580</guid><pubDate>Mon, 07 Nov 2011 09:03:03 +0000</pubDate></item><item><title>&#x413;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x446;&#x438;&#x44F; iso &#x438;&#x437; zip &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44F; php</title><link>https://linux.ru/forum/topic/172518-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F-iso-%D0%B8%D0%B7-zip-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D1%8F-php/</link><description><![CDATA[
<p>Здравствуйте.</p>
<p>Ищу доступные варианты программ, для конвертирования ZIP файла в ISO формат для записи на CD/DVD.</p>
<p>Требования: </p>
<p>1) Вызов из терминала.</p>
<p>2) Бесплатная лицензия.</p>
<p>3) Наличие программы в различных дистрибутивах.</p>
<p>Буду благодарен, если кто-либо подскажет в каком направлении искать и/или подскажет непосредственно программу.</p>
<p>P.S. - Google уже обшарил.</p>
<p>P.P.S. - Опыта у меня маловато для работы с Linux.</p>
]]></description><guid isPermaLink="false">172518</guid><pubDate>Tue, 27 Sep 2011 12:24:50 +0000</pubDate></item><item><title>&#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; mysql like in()</title><link>https://linux.ru/forum/topic/172496-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81-mysql-like-in/</link><description><![CDATA[
<p>Доброго времени суток,</p>
<p>встала необходимость построить запрос где будет много like:</p>
<p></p>
<div><pre>...colm like 'str1%' or colm like 'str2%' or colm 'str3%' or colm like 'str4%'...</pre></div>
<p>и так от 1 до 500 раз в зависимости от установок пользователя. При дублировании "or colm like " занимает довольно много места и возрастает количество инфы посылаемой на удаленный mysql сервер. Есть ли вариант сократить запроск примеру к синтаксису похожему на in('str1%','str2%'....)?</p>
<p>Пробовал REGEXP - но он очень медленный:</p>
<p></p>
<div><pre>select * from tbl where colm REGEXP '^str1|^str2' order by rand() limit 20;.......20 rows in set (28.51 sec)select * from tbl where colm like "str1%" or colm like "str2%" order by rand() limit 20;.......20 rows in set (2.90 sec)</pre></div>
]]></description><guid isPermaLink="false">172496</guid><pubDate>Sat, 10 Sep 2011 01:56:31 +0000</pubDate></item><item><title>&#x417;&#x430;&#x43F;&#x440;&#x43E;&#x441; &#x432; MySQL</title><link>https://linux.ru/forum/topic/172321-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81-%D0%B2-mysql/</link><description><![CDATA[
<p>Есть 2 таблицы: А и Б. В таблице А есть несколько столбиков ИД, вместо которых из таблицы Б нужно подставить ИМЯ. Был бы такой столбик был 1 - это было бы:</p>
<p></p>
<div><pre>select Б.ИМЯ, А.* from А, Б where А.ИД=Б.ИД</pre></div>
<p>Но т.к. столбиков несколько - не знаю каким образом подставить ИМЯ.</p>
]]></description><guid isPermaLink="false">172321</guid><pubDate>Fri, 28 Jan 2011 13:59:33 +0000</pubDate></item><item><title>&#x412;&#x440;&#x435;&#x43C;&#x44F; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D;&#x438;&#x44F; shell &#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442;&#x430;</title><link>https://linux.ru/forum/topic/172286-%D0%B2%D1%80%D0%B5%D0%BC%D1%8F-%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F-shell-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B0/</link><description><![CDATA[
<p>Для выполения задач на веб-сервере более часто, чем это позволяет CRON, возникла идея запуска shell скрипта, который, в свою очередь, будет с заданной периодичностью вызывать PHP скрипт, который будет работать с базой данных.</p>
<p>Собственно вопрос заключается вот в чем: будет shell ли скрипт продолжать работать, если пользователь, запустивший его, выйдет из системы? Скорее всего, провайдер не разрешит запуск чего-либо от имени root, а только от имени пользователя - накладывает ли это какие-то ограничения?</p>
<p>В Shell скрипте будет запрограммирован бесконечный цикл, и запуск скрипта в идеальном случае должен произойти один раз.</p>
]]></description><guid isPermaLink="false">172286</guid><pubDate>Sat, 15 Jan 2011 19:33:02 +0000</pubDate></item><item><title>&#x412;&#x44B;&#x431;&#x43E;&#x440; &#x438;&#x43D;&#x441;&#x442;&#x440;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x43E;&#x432; &#x434;&#x43B;&#x44F; J2ME-&#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F;+&#x421;&#x435;&#x440;&#x432;&#x435;&#x440; &#x43D;&#x430; PC</title><link>https://linux.ru/forum/topic/172257-%D0%B2%D1%8B%D0%B1%D0%BE%D1%80-%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2-%D0%B4%D0%BB%D1%8F-j2me-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80-%D0%BD%D0%B0-pc/</link><description><![CDATA[
<p>Всех с наступившим 2011годом! и вот первый вопрос в этом году =)</p>
<p>Решил сделать пульт ДУ из сенсорного мобильника на s40, программирование изучал давно и не глубоко, но в целом разберусь. Обрисую что должно получится:</p>
<p>Мобила должна управлять некоторыми приложениями на компе, используя wi-fi или Bluetooth(не обязательно). Для клиента на мобиле всё понятно - выберу какую-нибудь среду для J2ME. <b>А вот что мне лучше смотреть для сервера на компе, какие языки, среды?</b> сервер должен быть </p>
<p> - нативным в линуксе,</p>
<p> - портируемым на другие платформы (это второстепенно), типа python'a какого нибудь, с простым синтаксисом </p>
<p>Работать всё должно так: Мобильник подключается в локалку с компом по вафле, запускаем ява-аплет который генерирует сообщения и отправляет их серверу по сетке, тот в свою очередь эмулирует нажатия клавиш громкости, мыши, или передаёт команды другому модулю который может быть шлюзом к какой нибудь проге типа проигрывателя. Как то так. </p>
<p> Иначе говоря что мне понадобится для реализации диалога по сети и управления некоторыми функциями компа. Спасибо.</p>
]]></description><guid isPermaLink="false">172257</guid><pubDate>Sun, 02 Jan 2011 00:16:38 +0000</pubDate></item><item><title>Nagios + &#x43C;&#x43E;&#x43D;&#x438;&#x442;&#x43E;&#x440;&#x438;&#x43D;&#x433; Oracle</title><link>https://linux.ru/forum/topic/172230-nagios-%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3-oracle/</link><description><![CDATA[
<p>Добрый день форумчане, написал скриптик для нагиоса чтобы он выполнял sql запрос, затем выбирал состояние и выдавал рез-ты (т.е. состояние и строку выданную sql)</p>
<p></p>
<div><pre>#! /bin/shSTATE_OK=0STATE_WARNING=1STATE_CRITICAL=2STATE_UNKNOWN=3IMA_exports=` $ORACLE_HOME/sqlplus -S nagios@ru1p/nagios @/usr/local/nagios/sql/IMA_exports.sql;`ifIMA_exports2=` echo $IMA_exports | grep -c "CRITICAL"`[ ${IMA_exports2} -eq 1 ]; then        echo "CRITICAL $IMA_exports"        exit $STATE_CRITICALelifIMA_exports3=` echo $IMA_exports | grep -c "WARNING"`[ ${IMA_exports3} -eq 1 ]; then        echo "WARNING $IMA_exports"                exit $STATE_WARNINGelifIMA_exports4=` echo $IMA_exports | grep -c "Ima Export OK"`[ ${IMA_exports4} -eq 1 ]; then        echo "OK $IMA_exports"        exit $STATE_OKelse        echo "ERROR"                exit $STATE_UNKNOWNfi</pre></div>
<p>Скрипт в командной строке обрабатывается - и состояние правильное выдает - а вот в нагиосе - всегда ОК показывает и пишет (No output returned from plugin) (хотя если вместо переменной - что-то другое написать - то оно показывается....)</p>
<p>Сможете что подсказать?</p>
]]></description><guid isPermaLink="false">172230</guid><pubDate>Tue, 21 Dec 2010 16:11:31 +0000</pubDate></item></channel></rss>
