For Android device For iOS device

កុម្ភៈ

វិធីសាស្រ្ត​ក្នុង​ការ​បង្កើត Download Counter នៅ​ក្នុង​ភាសា PHP

ដើម្បី​ងាយស្រួល​ក្នុង​ការ​គ្រប់គ្រង​ទិន្នន័យ និង ចំនួនដ៏ច្បាស់លាស់មួយ​សម្រាប់​កម្មវិធី ឬ អត្ថបទ ។ ល ។ ដែល​អ្នកបានដាក់​ឲ្យ​ធ្វើការ download នៅលើ​គេហទំព័រ​របស់អ្នក​នោះ ដូច្នេះអ្នកគួរតែ​ប្រើ download counter សម្រាប់​កំណត់​ពីចំនួន​ដែល​អ្នកទស្សនាបាន download ។ ការ​ប្រើ​ប្រាស់ download counter គឺវា​ពិសេស​ណាស់ វាអាចធ្វើ​ឲ្យ​អ្នកដឹងពីចំនួនដ៏ត្រឹមត្រូវមួយ ចំពោះ​កម្មវិធី ឬ អត្ថបទណា​ដែល​ពេញ​និយម មានអ្នក download ច្រើន និង អត្ថបទណា​ដែល​មិនមានភាពពេញ​និយម ដែល​នេះវាបង្ក​លក្ខណៈ​ងាយស្រួល​ដល់អ្នក​ក្នុង​ស្វែងរក​នូវ​អ្វី​ដែល​ជាចំណង់ចំណូលចិត្ត​របស់អ្នក​ទស្សនា និង អ្វី​ដែល​ពួកគេ​ត្រូវការ ។

របៀប​ក្នុង​ការ​បង្កើត download counter

១. អ្នកត្រូវ​បង្កើត Mysql Database ដែល​នៅ​ក្នុង database របស់អ្នក​ត្រូវ​បង្កើត table មួយ​ឈ្មោះ​ថា downloads ហើយនៅ​ក្នុង downloads table ត្រូវមាន field មួយចំនួន​ដូចជា​៖

  • Id : ប្រើ​សម្រាប់​កំណត់​អត្ថលេខ​ឲ្យ file download របស់អ្នក​
  • Title : ប្រើ​សម្រាប់​ពិពណ៌នា​ឈ្មោះ​ឲ្យ file download របស់អ្នក​
  • Filename : ប្រើ​សម្រាប់​ដាក់​ឈ្មោះ file ពិតប្រាកដ​ដែល​មាននៅ​ក្នុង server របស់អ្នក សម្រាប់​ឲ្យ​អ្នកទស្សនា​ធ្វើការ download
  • Download : ប្រើ​សម្រាប់​កំណត់​ពីចំនួន​ដែល​បាន download រួច
  • Filesize : ប្រើ​សម្រាប់​កំណត់​ពី​ទំហំ file ដែល​អ្នកទស្សនាត្រូវ download

វិធីអនុវត្តៈ បង្កើត Mysql Database ជាមួយនឹង MySQL-Front សូមមើលរូប​ខាងក្រោម​៖

- Code សម្រាប់​បង្កើត download table
CREATE TABLE download (id int (4) NOT NULL auto_increment, title varchar (32) , filename varchar (32) ,
downloads int (8) DEFAULT '1', UNIQUE id (id, title, filename)

- Code សម្រាប់​បញ្ចូល​ទិន្នន័យ​ក្នុង download table
INSERT INTO download VALUES ('1', 'Click-Tracker', 'clicktracker.zip', '1', '10KB') ;
INSERT INTO download VALUES ('1', 'Mybloggie 216', 'mybloggies216.zip', '1', '291KB') ;
INSERT INTO download VALUES ('1', 'PHP Calendar', 'phpcalendar.zip', '1', '442KB') ;
INSERT INTO download VALUES ('1', 'Quick Count', 'quickcount.zip', '1', '10KB') ;
INSERT INTO download VALUES ('1', 'Download Counter', 'downloadcounter.zip', '1', '3KB') ;

មាន​ដូចជា​៖

  • inc.mysql.php : file នេះ​ប្រើ​សម្រាប់​បង្កើត​ជា connection ភ្ជាប់​ទៅ mysql database
  • download.php : file នេះ​ប្រើ​សម្រាប់​រាប់ចំនួន​ដែល​អ្នកទស្សនាបាន download
  • download-example.php (index.php) : file គឺជា main page ដែល​បង្ហាញ​ពី​ឈ្មោះ file ដែល​អ្នកទស្សនាអាច download បាន
  • download-example.css (index.css) : file នេះគឺជា style sheet ប្រើ​កំណត់ layout ឲ្យ main page

inc.mysql.php
/* mysql data */
$db_host = "localhost";
$db_name = "dbtest";
/* connect to mysql */
$link = @mysql_connect ($db_host) ;
/* select database */
mysql_select_db ($db_name, $link) ;
?>

download.php
/* specify path containing files */
$file = $HTTP_GET_VARS ['file'] ;
/* set up mysql connection */
include ("inc.mysql.php") ;
if (! empty ($file) ) {
/* query database */
$result = mysql_query ('SELECT filename FROM download') ;
/* check each row for filename and send file via http header */
while ($row = mysql_fetch_assoc ($result) ) {
if ($row ["filename"] == $file) {
mysql_query ("UPDATE download SET downloads = downloads + 1 WHERE filename='" . $file . "'") ;
header ('location:download-example.php') ;
}
}
}
?>

download-example.php

<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<title> Download - Counter </title>

<link href="download-example.css" rel="stylesheet" type="text/css">

</head>

<body>

<form name="downloadexample" action="download.php" method="get">

<?

/* set up mysql connection */

include ("inc.mysql.php") ;

/* query database */

$result = mysql_query ("SELECT * FROM download") ;

/* output available downloads if found */

if (mysql_num_rows ($result) < 1) {

echo "<center><b>no downloads available! </b></center>";

} else {

echo "<div id=container>";

echo "<div id=banner>";

echo "<h1>";

echo "downloadcounter";

echo "</h1>";

echo "</div>";

while ($row = mysql_fetch_assoc ($result) ) {

echo "<div id=left>";

echo "<h1>";

echo $row ["title"] ;

echo "</h1>";

echo "</div>";

echo "<div id=right>";

echo "<div class=left>";

echo "<a href=\"download.php?file=" . $row ["filename"] . "\">download</a> ";

echo "<span class=counter>";

echo ":". $row ["downloads"] ;

echo "</span>";

echo "</div>";

echo "<div class=right>";

echo "<span class=counter>File Size:". $row ["filesize"] ."</span>";

echo "</div>";

echo "</div>";

echo "<br/>";

}

echo "<div id=footer>";

echo "Copy right © Tino 2008";

echo "</div>"; echo "</div>";}

?>

</form></body></html>

download-example.php

/* CSS Document */

body

{

background-color: #e1ddd9;

font-size: 11px;

font-family: Verdana, Arial, SunSans-Regular, Sans-Serif;

color: #564b47;

padding: 0;

margin: 0;

}

#banner h1

{

font-size: 60px;

text-transform: uppercase;

color: #EBD3E0;

background-color: #E0A3B7;

border-top: 1px solid #FFFF33;

border-bottom: 1px solid #FFFF33;

padding: 5px 10px;

margin: 0;

}

h1

{

font-size: 20px;

font: "Courier New", Courier, mono;

color: #0099FF;

margin: 0;

}

a

{

color: #DB7093;

font-size: 20px;

}

a:visited

{

color: #DB7093;

}

a:hover

{

color: #FF0000;

}

a:active

{

color: #FF0000;

}

div#container

{

width: 900px;

margin-bottom: 10px;

margin: 0 auto;

background-color: #EBD3E0;

}

div#banner

{

background-color: #e1ddd9;

text-align: center;

padding: 0;

margin: 0;

}

 

div#left

{

float: left;

width: 390px;

border-bottom: 1px solid #ffffff;

padding: 20px 30px;

margin: 0;

}

div#right

{

float: right;

width: 390px;

border-bottom: 1px solid #ffffff;

padding: 20px 30px;

margin: 0;

}

.left

{

float: left;

width: 195px;

margin: 0;

}

.right

{

float: right;

width: 195px;

margin: 0;

}

div#footer

{

clear: both;

margin: 0;

background-color:#FFFFFF;

padding: 20px 30px;

text-align: center;

}

 

br

{

clear:both;

}

 

.counter

{

font-size: 20px;

color: #DB7093;

}

ជា​ចុងក្រោយ​អ្នកនឹងបាន​លទ្ធផល​ដូច​ខាងក្រោម បន្ទាប់ពី​អ្នកបានអនុវត្ត ពីរ​ចំណុច​ខាងលើ​នេះ ។

*** រៀបរៀងអត្ថបទដោយ ៖ លោក ឆាយ តុលា

*** ដកស្រង់ចេញពី​ទស្សនាវដ្ដី​អាន-ANT ច្បាប់​ទី ០៦ ប្រចាំខែ មករា ឆ្នាំ ២០០៩

មតិ និង​យោបល់​ទៅលើ​អត្ថបទ​នេះ (តាម Facebook)

ខាងក្រោម​នេះ​ជា​យោបល់​ផ្សេងៗ​របស់​អ្នកទស្សនា