<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Комментарии: Счетчик скачиваний файлов на PHP с применением htaccess и MySQL</title>
	<atom:link href="/web-masterskaya/webmaster-php/schetchik-skachivaniy-faylov-php-primeneniem-htaccess-i-mysql.html/feed" rel="self" type="application/rss+xml" />
	<link>http://4remind.ru/web-masterskaya/webmaster-php/schetchik-skachivaniy-faylov-php-primeneniem-htaccess-i-mysql.html</link>
	<description>Заметки на память для начинающих вебмастеров, web-программирование, создание блогов, сайтов, продвижение и монетизация</description>
	<lastBuildDate>Sun, 10 Feb 2013 20:11:08 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
	<item>
		<title>Автор: Александр</title>
		<link>http://4remind.ru/web-masterskaya/webmaster-php/schetchik-skachivaniy-faylov-php-primeneniem-htaccess-i-mysql.html#comment-694</link>
		<dc:creator>Александр</dc:creator>
		<pubDate>Sun, 10 Feb 2013 20:11:08 +0000</pubDate>
		<guid isPermaLink="false">http://4remind.ru/?p=1112#comment-694</guid>
		<description>Спасибо! Отличный сайт и статья! Владимиру огромное спасибо за помощь в доработке скрипта (вывод данных и сортировку)!</description>
		<content:encoded><![CDATA[<p>Спасибо! Отличный сайт и статья! Владимиру огромное спасибо за помощь в доработке скрипта (вывод данных и сортировку)!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Владимир</title>
		<link>http://4remind.ru/web-masterskaya/webmaster-php/schetchik-skachivaniy-faylov-php-primeneniem-htaccess-i-mysql.html#comment-670</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Fri, 08 Feb 2013 07:52:43 +0000</pubDate>
		<guid isPermaLink="false">http://4remind.ru/?p=1112#comment-670</guid>
		<description>Александр, в моем комментарии (смотри выше) была ошибка, поэтому там нужно заменить строки:
[php]
$qry = &quot;UPDATE downloads SET dcount = dcount + 1 WHERE filename = &#039;&quot; . $filename . &quot;&#039;&quot;;
$qry = &quot;UPDATE downloads SET date = NOW() WHERE filename = &#039;&quot; . $filename . &quot;&#039;&quot;;
[/php]

на одну:
[php]
$qry = &quot;UPDATE downloads SET dcount = dcount + 1, date = NOW() WHERE filename = &#039;&quot; . $filename . &quot;&#039;&quot;;
[/php]
Тот комментарий я уже тоже подправил (см. выше).</description>
		<content:encoded><![CDATA[<p>Александр, в моем комментарии (смотри выше) была ошибка, поэтому там нужно заменить строки:</p>
<pre class="brush: php; title: ; notranslate">
$qry = &quot;UPDATE downloads SET dcount = dcount + 1 WHERE filename = '&quot; . $filename . &quot;'&quot;;
$qry = &quot;UPDATE downloads SET date = NOW() WHERE filename = '&quot; . $filename . &quot;'&quot;;
</pre>
<p>на одну:</p>
<pre class="brush: php; title: ; notranslate">
$qry = &quot;UPDATE downloads SET dcount = dcount + 1, date = NOW() WHERE filename = '&quot; . $filename . &quot;'&quot;;
</pre>
<p>Тот комментарий я уже тоже подправил (см. выше).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Александр</title>
		<link>http://4remind.ru/web-masterskaya/webmaster-php/schetchik-skachivaniy-faylov-php-primeneniem-htaccess-i-mysql.html#comment-633</link>
		<dc:creator>Александр</dc:creator>
		<pubDate>Thu, 07 Feb 2013 22:15:26 +0000</pubDate>
		<guid isPermaLink="false">http://4remind.ru/?p=1112#comment-633</guid>
		<description>Владимир спасибо за помощь, с датой и выводом данных разобрался, одно только но при добавлении поля `date` (с помощью функции MySQL NOW()) в таблице `downloads`, перестает работать счетчик закачек, показывает постоянно единицу:

if ($counterdata[&#039;filecount&#039;] &gt; 0) {
2	  $qry = &quot;UPDATE downloads SET dcount = dcount + 1 WHERE filename = &#039;&quot; . $filename . &quot;&#039;&quot;;
3	  $qry = &quot;UPDATE downloads SET date = NOW() WHERE filename = &#039;&quot; . $filename . &quot;&#039;&quot;;
4	} else {
5	  $qry = &quot;INSERT INTO downloads (date, filename, dcount) VALUES (NOW(),&#039;&quot; . $filename . &quot;&#039;, 1)&quot;;
6	}</description>
		<content:encoded><![CDATA[<p>Владимир спасибо за помощь, с датой и выводом данных разобрался, одно только но при добавлении поля `date` (с помощью функции MySQL NOW()) в таблице `downloads`, перестает работать счетчик закачек, показывает постоянно единицу:</p>
<p>if ($counterdata['filecount'] &gt; 0) {<br />
2	  $qry = &#171;UPDATE downloads SET dcount = dcount + 1 WHERE filename = &#8216;&#187; . $filename . &#171;&#8216;&#187;;<br />
3	  $qry = &#171;UPDATE downloads SET date = NOW() WHERE filename = &#8216;&#187; . $filename . &#171;&#8216;&#187;;<br />
4	} else {<br />
5	  $qry = &#171;INSERT INTO downloads (date, filename, dcount) VALUES (NOW(),&#8217;&#187; . $filename . &#171;&#8216;, 1)&#187;;<br />
6	}</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Владимир</title>
		<link>http://4remind.ru/web-masterskaya/webmaster-php/schetchik-skachivaniy-faylov-php-primeneniem-htaccess-i-mysql.html#comment-601</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Thu, 07 Feb 2013 14:07:33 +0000</pubDate>
		<guid isPermaLink="false">http://4remind.ru/?p=1112#comment-601</guid>
		<description>Александр, для этого нужно просто добавить еще одно поле в таблицу БД, например поле `date`:
[php]
CREATE TABLE `downloads` (
  `date` datetime DEFAULT NULL,
  `filename` varchar(255) NOT NULL,
  `dcount` int(11) NOT NULL,
   PRIMARY KEY  (`filename`)
)
[/php]

В скрипте подправить/добавить заполнение поля `date` (с помощью функции MySQL NOW()) в таблице `downloads`:
[php]
if ($counterdata[&#039;filecount&#039;] &gt; 0) {
  $qry = &quot;UPDATE downloads SET dcount = dcount + 1, date = NOW() WHERE filename = &#039;&quot; . $filename . &quot;&#039;&quot;;
} else {
  $qry = &quot;INSERT INTO downloads (date, filename, dcount) VALUES (NOW(),&#039;&quot; . $filename . &quot;&#039;, 1)&quot;;
}
[/php]

Для вывода на страницу сайта всех данных можно применить вот такой скрипт:
[php]

&lt;table class=&quot;tablesorter&quot; border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;90%&quot;&gt;
	&lt;thead&gt;
	&lt;tr&gt;
		&lt;th&gt;Дата&lt;/th&gt;
		&lt;th&gt;Файл&lt;/th&gt;
		&lt;th&gt;Закачан (раз)&lt;/th&gt;
	&lt;/tr&gt;
	&lt;thead&gt;
	&lt;tbody&gt;

		&lt;?php
			$res = mysql_query( &#039;SELECT * FROM `downloads` ORDER BY `date` DESC&#039; );
			while( $row = mysql_fetch_assoc( $res )) {
		?&gt;

		&lt;tr&gt;
			&lt;td&gt;&lt;?php echo date(&#039;d-m-Y i:s&#039;,strtotime($row[&#039;date&#039;])); ?&gt;&lt;/td&gt;
			&lt;td&gt;&lt;?php echo $row[&#039;filename&#039;] ?&gt;&lt;/td&gt;
			&lt;td&gt;&lt;?php echo $row[&#039;dcount&#039;]; ?&gt;&lt;/td&gt;
		&lt;/tr&gt;

		&lt;?php
			}
			mysql_free_result( $res );
		?&gt;
		
	&lt;/tbody&gt;
&lt;/table&gt;
[/php]

В этом скрипте подразумевается, что он находится в файле PHP и Вы уже подключились к нужной БД заранее.</description>
		<content:encoded><![CDATA[<p>Александр, для этого нужно просто добавить еще одно поле в таблицу БД, например поле `date`:</p>
<pre class="brush: php; title: ; notranslate">
CREATE TABLE `downloads` (
  `date` datetime DEFAULT NULL,
  `filename` varchar(255) NOT NULL,
  `dcount` int(11) NOT NULL,
   PRIMARY KEY  (`filename`)
)
</pre>
<p>В скрипте подправить/добавить заполнение поля `date` (с помощью функции MySQL NOW()) в таблице `downloads`:</p>
<pre class="brush: php; title: ; notranslate">
if ($counterdata['filecount'] &gt; 0) {
  $qry = &quot;UPDATE downloads SET dcount = dcount + 1, date = NOW() WHERE filename = '&quot; . $filename . &quot;'&quot;;
} else {
  $qry = &quot;INSERT INTO downloads (date, filename, dcount) VALUES (NOW(),'&quot; . $filename . &quot;', 1)&quot;;
}
</pre>
<p>Для вывода на страницу сайта всех данных можно применить вот такой скрипт:</p>
<pre class="brush: php; title: ; notranslate">

&lt;table class=&quot;tablesorter&quot; border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;90%&quot;&gt;
	&lt;thead&gt;
	&lt;tr&gt;
		&lt;th&gt;Дата&lt;/th&gt;
		&lt;th&gt;Файл&lt;/th&gt;
		&lt;th&gt;Закачан (раз)&lt;/th&gt;
	&lt;/tr&gt;
	&lt;thead&gt;
	&lt;tbody&gt;

		&lt;?php
			$res = mysql_query( 'SELECT * FROM `downloads` ORDER BY `date` DESC' );
			while( $row = mysql_fetch_assoc( $res )) {
		?&gt;

		&lt;tr&gt;
			&lt;td&gt;&lt;?php echo date('d-m-Y i:s',strtotime($row['date'])); ?&gt;&lt;/td&gt;
			&lt;td&gt;&lt;?php echo $row['filename'] ?&gt;&lt;/td&gt;
			&lt;td&gt;&lt;?php echo $row['dcount']; ?&gt;&lt;/td&gt;
		&lt;/tr&gt;

		&lt;?php
			}
			mysql_free_result( $res );
		?&gt;
		
	&lt;/tbody&gt;
&lt;/table&gt;
</pre>
<p>В этом скрипте подразумевается, что он находится в файле PHP и Вы уже подключились к нужной БД заранее.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Александр</title>
		<link>http://4remind.ru/web-masterskaya/webmaster-php/schetchik-skachivaniy-faylov-php-primeneniem-htaccess-i-mysql.html#comment-569</link>
		<dc:creator>Александр</dc:creator>
		<pubDate>Wed, 06 Feb 2013 22:04:01 +0000</pubDate>
		<guid isPermaLink="false">http://4remind.ru/?p=1112#comment-569</guid>
		<description>Отличный скрипт! не поможете доработать?  как в базе данных сделать так чтобы было видно дату и время последней загрузки, и по возможности как сделать чтобы данные из базы mysql отображались на какой нибудь HTML странице? Буду очень благодарен если поможете !!!</description>
		<content:encoded><![CDATA[<p>Отличный скрипт! не поможете доработать?  как в базе данных сделать так чтобы было видно дату и время последней загрузки, и по возможности как сделать чтобы данные из базы mysql отображались на какой нибудь HTML странице? Буду очень благодарен если поможете !!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Владимир</title>
		<link>http://4remind.ru/web-masterskaya/webmaster-php/schetchik-skachivaniy-faylov-php-primeneniem-htaccess-i-mysql.html#comment-256</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Sun, 23 Dec 2012 18:13:35 +0000</pubDate>
		<guid isPermaLink="false">http://4remind.ru/?p=1112#comment-256</guid>
		<description>Еще будет лучше задействовать переменные, которые будут отражать текущий статус, чтобы не дергать лишний раз функции.</description>
		<content:encoded><![CDATA[<p>Еще будет лучше задействовать переменные, которые будут отражать текущий статус, чтобы не дергать лишний раз функции.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Владимир</title>
		<link>http://4remind.ru/web-masterskaya/webmaster-php/schetchik-skachivaniy-faylov-php-primeneniem-htaccess-i-mysql.html#comment-252</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Sun, 23 Dec 2012 17:07:16 +0000</pubDate>
		<guid isPermaLink="false">http://4remind.ru/?p=1112#comment-252</guid>
		<description>Для этого думается мне можно немного изменить концовку скрипта. Там в цикле &quot;while( !feof($fdwn) )&quot; есть проверка &quot;if (connection_aborted())&quot;, так вот запрос в БД нужно перенести вниз, чтобы счетчик в БД НЕ увеличивался, если был обрыв или отмена закачки. 
А насколько важно пользователя еще предупреждать, что закачка завершилась? Ведь большинство качают не из консоли, а браузерными качалками и прочими, которые показывают закачался ли фал или нет. Даже &quot;wget&quot; показывает процесс закачки в консоли.
Хотя, в принципе, если уж кому захочется, то можно и показать сообщение, и опять же, конечный статус закачки можно получать в том же &quot;while( !feof($fdwn) )&quot;.</description>
		<content:encoded><![CDATA[<p>Для этого думается мне можно немного изменить концовку скрипта. Там в цикле &#171;while( !feof($fdwn) )&#187; есть проверка &#171;if (connection_aborted())&#187;, так вот запрос в БД нужно перенести вниз, чтобы счетчик в БД НЕ увеличивался, если был обрыв или отмена закачки.<br />
А насколько важно пользователя еще предупреждать, что закачка завершилась? Ведь большинство качают не из консоли, а браузерными качалками и прочими, которые показывают закачался ли фал или нет. Даже &#171;wget&#187; показывает процесс закачки в консоли.<br />
Хотя, в принципе, если уж кому захочется, то можно и показать сообщение, и опять же, конечный статус закачки можно получать в том же &#171;while( !feof($fdwn) )&#187;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Владимир</title>
		<link>http://4remind.ru/web-masterskaya/webmaster-php/schetchik-skachivaniy-faylov-php-primeneniem-htaccess-i-mysql.html#comment-251</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Sun, 23 Dec 2012 16:59:35 +0000</pubDate>
		<guid isPermaLink="false">http://4remind.ru/?p=1112#comment-251</guid>
		<description>Ну, это уже немного другая тема, то есть про черные списки и т.д. На сайтах с высокой активностью посетителей можно по ошибке или случайности надобавлять в черный список целые сети... Может позже напишу об этом.</description>
		<content:encoded><![CDATA[<p>Ну, это уже немного другая тема, то есть про черные списки и т.д. На сайтах с высокой активностью посетителей можно по ошибке или случайности надобавлять в черный список целые сети&#8230; Может позже напишу об этом.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Олег</title>
		<link>http://4remind.ru/web-masterskaya/webmaster-php/schetchik-skachivaniy-faylov-php-primeneniem-htaccess-i-mysql.html#comment-250</link>
		<dc:creator>Олег</dc:creator>
		<pubDate>Sun, 23 Dec 2012 16:55:25 +0000</pubDate>
		<guid isPermaLink="false">http://4remind.ru/?p=1112#comment-250</guid>
		<description>Ещё, извиняюсь за упорство, как узнать реальное количество закачек? Если чел перешел на страницу downloads, не факт, что он дождался загрузки(я сам частенько после начала скачки, особенно, когда сперва не понял, что это- ссылка на загрузку, обрываю закачку).
Уведомление по завершении загрузки, имхо, важнее (это Вам по силам?)</description>
		<content:encoded><![CDATA[<p>Ещё, извиняюсь за упорство, как узнать реальное количество закачек? Если чел перешел на страницу downloads, не факт, что он дождался загрузки(я сам частенько после начала скачки, особенно, когда сперва не понял, что это- ссылка на загрузку, обрываю закачку).<br />
Уведомление по завершении загрузки, имхо, важнее (это Вам по силам?)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Владимир</title>
		<link>http://4remind.ru/web-masterskaya/webmaster-php/schetchik-skachivaniy-faylov-php-primeneniem-htaccess-i-mysql.html#comment-249</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Sun, 23 Dec 2012 16:54:30 +0000</pubDate>
		<guid isPermaLink="false">http://4remind.ru/?p=1112#comment-249</guid>
		<description>Спасибо, Олег. Я добавил в конце статьи эту информацию со ссылкой на Ваш комментарий.</description>
		<content:encoded><![CDATA[<p>Спасибо, Олег. Я добавил в конце статьи эту информацию со ссылкой на Ваш комментарий.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
