බාගැනීම් කවුන්ටරයක් ​​ස්ථාපනය කිරීම - WordPress සඳහා ප්ලගීන සමාලෝචනය. PHP සහ MySQL භාවිතයෙන් ගොනු බාගත කිරීමේ කවුන්ටරයක් ​​නිර්මාණය කිරීම පෙළ සහ ග්‍රැෆික් ගොනු සුරැකීම

බොහෝ අඩවි වල ඔබට ගොනු බාගත කිරීම සඳහා සබැඳි දැකිය හැකිය. උදාහරණයක් ලෙස, නිෂ්පාදන සමාගම් ඔවුන්ගේ නිල පිටුවල යම් නිෂ්පාදනයක් සඳහා උපදෙස් පළ කරයි. ඊට අමතරව, සංවර්ධකයින් මෘදුකාංගඔවුන් තම වැඩසටහන නොමිලේ බාගත කිරීමට ද ඉදිරිපත් වන අතර එමඟින් පරිශීලකයාට එහි ක්‍රියාකාරිත්වය සහ ක්‍රියාකාරිත්වය පිළිබඳව හුරුපුරුදු වීමට ඉඩ සලසයි.

නොමිලේ බාගත කිරීම සඳහා ගොනුවක් ලබා දීමේදී, එය කොපමණ වාරයක් බාගත කර ඇත්ද යන්න දැන ගැනීම වැදගත් වේ. මෙය අවශ්ය වන්නේ, පළමුවෙන්ම, සංඛ්යාලේඛන සඳහා, අවසාන පරිශීලකයා සඳහා තොරතුරු වල ප්රයෝජනවත් බව තීරණය කිරීමට උපකාර වන විශ්ලේෂණය.

වර්ඩ්ප්‍රෙස් සයිට් එකක ඩවුන්ලෝඩ් කවුන්ටරයක් ​​සකසන්නේ කෙසේද?

වර්ඩ්ප්‍රෙස් මෙවලම් අතර මෙම සංඛ්‍යාලේඛන දැකීමට ක්‍රමයක් නොමැත. එබැවින්, අපි තෙවන පාර්ශවීය විසඳුමක් භාවිතා කරන්නෙමු - Kama Click Counter ප්ලගිනය.

Kama ක්ලික් කවුන්ටර් ප්ලගිනය

නොමිලේ Kama Click Counter ප්ලගිනය කිසියම් ගොනුවක බාගැනීම් ගණන නිවැරදිව ගණනය කිරීමට අවශ්‍ය සියලුම මෙවලම් සපයයි. එබැවින්, පළමුව, එය ස්ථාපනය කර සක්රිය කළ යුතුය. උදාහරණයක් ලෙස, අපි තැපැල් පිටුවේ pdf ගොනුවකට සබැඳියක් පෙන්වනු ඇත, ඒ සඳහා අපි බාගත කිරීම් ගණන ගණන් කරන්නෙමු. වෙබ් අඩවියට ගොනු උඩුගත කර ඇති බව සැලකිල්ලට ගත යුතුය සම්මත ක්රම භාවිතා කරමින්වර්ඩ්ප්‍රෙස් මාධ්‍ය පුස්තකාල (මාධ්‍ය -> නව එකතු කරන්න). ඊළඟට, ඔබ සංස්කරණය සඳහා පළ කිරීම හෝ පිටුව විවෘත කළ යුතුය. අන්තර්ගත කොටසෙහි, ගොනුව වෙත සබැඳිය තබන ස්ථානයේ කර්සරය තැබිය යුතු අතර, දෘශ්ය සංස්කාරක මෙවලම් තීරුවේ දිස්වන බොත්තම ක්ලික් කරන්න.

උත්පතන කවුළුවක, ප්ලගිනය කලින් බාගත කළ ගොනුව තේරීමට ඔබෙන් අසනු ඇත. මෙය සිදු කිරීම සඳහා, විශාලන වීදුරු නිරූපකය සහිත බොත්තම ඔබන්න.

මාධ්ය පුස්තකාලයේ ඔබ තෝරාගත යුතුය අවශ්ය ගොනුවසහ ගොනු තෝරන්න බොත්තම ක්ලික් කරන්න.

එහි ප්‍රතිඵලයක් වශයෙන්, ගොනුව බාගත කිරීම සඳහා සබැඳියක් ප්‍රදර්ශනය කිරීමට සේවය කරන පළකිරීමේ හෝ පිටුවේ අන්තර්ගත කොටසට විශේෂ කෙටි කේතයක් ඇතුළත් කරනු ලැබේ.

ද්රව්ය යාවත්කාලීන කිරීමෙන් පසු (යාවත්කාලීන බොත්තම), ඔබට එය බැලීමට වෙබ් අඩවියට යා හැකිය.

ප්ලගිනයට වෙබ් අඩවියේ පරිශීලක කොටසේ - විජට් එකක බාගත කිරීමේ සංඛ්‍යාලේඛන පෙන්වීමට ද හැකියාව ඇත. පෙරනිමියෙන් ප්ලගිනය බාගත කළ දේ සහ කොපමණ වාර ගණනක් විජට් තුළ නිශ්චිත අංක නොපෙන්වන බව සලකන්න. බොහෝ විට බාගත කළ ගොනු ලැයිස්තුවක් පමණක් දර්ශනය වේ. මෙය සිදු කිරීම සඳහා, පරිපාලක අංශයේ පෙනුම -> විජට් වෙත ගොස් පැති තීරුවේ අපේක්ෂිත ස්ථානයට KSS: Top බාගැනීම් විජට් ඇදගෙන යන්න.

ඔබට ලැයිස්තුව වෙනස් කිරීමට ඉඩ සලසන විකල්ප කිහිපයක් විජට් සතුව ඇති බව ඔබට පෙනේ.

මෙහිදී ඔබට පහත මූලික පරාමිතීන් සැකසිය හැක:

  • විජට් මාතෘකාව (මාතෘකා ක්ෂේත්රය);
  • ලැයිස්තුවේ ඇති ප්‍රතිදාන ගොනු ගණන (පෙන්විය යුතු සබැඳි කීයක් ද?);
  • ප්රතිඵල වර්ග කිරීම (ප්රතිඵලය වර්ග කරන්නේ කෙසේද?);
  • සැකසීම පෙනුමඅච්චුව (සැකිල්ල සහ CSS අච්චු කුට්ටි).

ප්ලගිනයේ විශේෂ ලක්ෂණයක් වන්නේ එහි නම්‍යශීලී අච්චු අභිරුචිකරණයයි. මෙන්න ඔබට ඊනියා ටැග් භාවිතා කළ හැකිය, මෙම හෝ එම තොරතුරු ප්රදර්ශනය කරනු ලබන ස්ථානයේ.

සියලුම විජට් සැකසුම් සම්පූර්ණ කර සුරැකීමෙන් පසු (සුරකින්න බොත්තම), ඔබට වෙබ් අඩවියේ ප්‍රති result ලය නැරඹිය හැකිය.

PHP සහ MySQL ගැන කාලයක් තිස්සේ පාඩම් තිබුණේ නැහැ. අද අපි සරල නමුත් ඵලදායී බාගත කිරීමේ කවුන්ටරයක් ​​නිර්මාණය කරමු.

සෑම ගොනුවකම දත්ත සමුදා වගු පේළියක ඇතුළත් කිරීමක් ඇත. ගොනු බාගැනීම් ගණන එකම වගුවක ගබඩා වේ. PHP MySQL දත්ත සමුදාය යාවත්කාලීන කර පරිශීලකයා වෙත හරවා යවනු ඇත අවශ්ය ගොනුව.

ඕනෑම ගොනුවක බාගැනීම් ගණන නිරීක්ෂණය කිරීමට, ඔබ එය ගොනු ෆෝල්ඩරය තුළට දැමිය යුතු අතර එයට ප්‍රවේශ වීමට විශේෂ URL එකක් භාවිතා කරන්න.

පියවර 1 - XHTML

පළමු පියවර වන්නේ අපගේ පිටපත සඳහා සලකුණු නිර්මාණය කිරීමයි. එය ඉතා සරලයි - අප සතුව div ගොනු කළමණාකරුවෙකු ඇත, එහි අනුපිළිවෙල නොකළ ලැයිස්තුවක් අඩංගු වන අතර, ලැයිස්තුවේ සෑම අංගයක්ම ගොනුවක් සඳහා වගකිව යුතුය.

බාගත කිරීම් නිරීක්ෂණය කළ යුතු ගොනු ස්ක්‍රිප්ටයේ මූල ෆෝල්ඩරයේ ඇති ගොනු ෆෝල්ඩරයේ තබා ඇත. PHP පසුව සියලුම ගොනු හරහා ගොස් ඒ සෑම එකක්ම ලැයිස්තු මූලද්‍රව්‍ය (li) ලෙස අනුපිළිවෙල නොකළ ලැයිස්තුවට එක් කරයි.

demo.php


  • photoShoot-1.0.zip 0 බාගැනීම

සබැඳිවල href ගුණාංගය බාගත.php සඳහා පරාමිතියක් ලෙස ගොනු නාමය පසුකර යන බව සලකන්න. බාගත කිරීම් ගණන නිරීක්ෂණය කිරීම සිදු වන්නේ මෙහිදීය.

ඔබට සෑම දෙයක්ම එකම ආකාරයෙන් ප්‍රදර්ශනය කිරීමට අවශ්‍ය නැත - ඔබට ඔබගේ පිටු වල download.php වෙත සබැඳි කළ හැකි අතර සියලුම බාගැනීම් සිදු නොවේ.

පියවර 2 - CSS

සලකුණු කිරීමෙන් පසුව, අපි නිර්මාණය සමඟ ආරම්භ කරමු. පහත දැක්වෙන CSS රීති, id (# සංකේතය) භාවිතා කරමින් ගොනු කළමණාකරු div වෙත යොමු කරයි, එය පිටුවේ 1 වරක් පමණක් දිස්වන බැවින් සහ අනෙකුත් මූලද්‍රව්‍ය පන්ති නම් වලින් දිස් වේ.

styles.css

#file-manager(පසුබිම්-වර්ණය:#EEE; මායිම:1px ඝන #DDD; මායිම:50px ස්වයංක්‍රීය; පෑඩිං:10px; පළල:400px; )
ul.manager li(background:url("img/bg_gradient.gif") නැවත-x මැද පහළ #F5F5F5; මායිම:1px ඝන #DDD; මායිම-ඉහළ-වර්ණ:#FFF; ලැයිස්තු-විලාසය: නැත; ස්ථානය:සාපේක්ෂ ; ) ul.manager li a( display:block; padding:8px; ) ul.manager li a: hover .download-label( /* අයිකනය මත සැරිසරන විට, හරිත බාගැනීම් පෙළ පෙන්වන්න: */ display:block; ) span බාගැනීම්-ලේබලය(පසුබිම්-වර්ණය:#64B126; මායිම:1px ඝන #4E9416; වර්ණය:සුදු; සංදර්ශකය: කිසිවක් නැත; අකුරු ප්රමාණය: 10px; පිරවුම: 2px 4px; ස්ථානය: නිරපේක්ෂ; දකුණ: 8px; පෙළ-අලංකරණය: කිසිවක් නැත; පෙළ-සෙවණ:0 0 1px #315D0D; top:6px; /* CSS3 වටකුරු කොන් */
-moz-border-radius:3px; -webkit-border-radius:3px; මායිම් අරය:3px; ) span.download-count( color:#999; font-size:10px; padding:3px 5px; position:absolute; text-decoration:none; )

පියවර 3 - PHP

මම කලින් කිව්වා වගේ, PHP ගොනු ෆෝල්ඩරයේ ගොනු සොයන අතර සෑම ගොනුවක්ම ඇණවුම් නොකළ ලැයිස්තුවක ලැයිස්තු අයිතමයක් ලෙස ප්‍රතිදානය කරයි. මෙය සිදුවන්නේ කෙසේදැයි අපි බලමු

demo.php - ඉහළ කොටස

// දෝෂ වාර්තා කිරීම: දෝෂ_වාර්තා කිරීම (E_ALL^E_NOTICE); // : "connect.php" අවශ්යයි; $extension=""; $files_array = array(); /* ෆෝල්ඩරය විවෘත කර සියලුම ගොනු හරහා යන්න: */ $dir_handle = @opendir($directory) හෝ die ("ඔබේ ගොනු නාමාවලියෙහි දෝෂයක් ඇත!"); අතරතුර ($file = readdir($dir_handle)) ( /* Skip පද්ධති ගොනු: */ if($file(0)==".") continue; /* end() explode() ශ්‍රිතය මගින් ජනනය කරන ලද අරාවේ අවසාන මූලද්‍රව්‍යය පෙන්වයි: */ $extension = strtolower(end(explode(".",$file))); /* php ගොනු මඟ හරින්න: */ if($extension == "php") දිගටම; $files_array=$ ගොනුව; ) /* අකාරාදී පිළිවෙලට ගොනු වර්ග කරන්න */ වර්ග කරන්න($files_array,SORT_STRING); $file_downloads=array(); $result = mysql_query("තෝරන්න * බාගත_කළමනාකරු"); if(mysql_num_rows($result)) while($row=mysql_fetch_assoc($result)) ( /* $file_downloads array යතුර ගොනුවේ නම වනු ඇත, සහ බාගැනීම් ගණන අඩංගු වනු ඇත: */ $file_downloads[$row ["ගොනු නාමය"] ]=$ පේළිය["බාගැනීම්"]; )

අපි mysql_query() භාවිතයෙන් download_manager වගුවෙන් සියලුම පේළි තෝරා ගන්නා ආකාරය සැලකිල්ලට ගන්න, පසුව ඒවා බාගත කිරීම් ගණනට යතුරක් ලෙස ගොනු නාමය සමඟ $file_downloads අරාව වෙත එක් කරන්න. මේ අනුව, තවදුරටත් කේතය තුළ, අපට $file_downloads["archive.zip"] ලිවීමට සහ බාගැනීම් ගණන පෙන්විය හැක.

පහතින් ඔබට ලැයිස්තු අයිතම උත්පාදනය කරන කේතය දැකිය හැක:

demo.php - මැද කොටස

Foreach($files_array ලෙස $key=>$val) ( echo "

  • ".$val." ".(int)$file_downloads[$val]." බාගත
  • "; }

    සෑම දෙයක්ම $files_array array මත foreach loop එකක් භාවිතයෙන් සිදු කෙරේ. මෙයින් පසු සෑම දෙයක්ම echo භාවිතයෙන් ප්රතිදානය වේ.

    දැන් අපි ගොනු ලුහුබැඳීම ක්‍රියා කරන ආකාරය දෙස සමීපව බලමු.

    download.php

    // දෝෂ පරීක්ෂා කිරීම : දෝෂ_වාර්තා කිරීම (E_ALL^E_NOTICE); // DB වෙත සම්බන්ධතා ගොනුව ඇතුළත් කරන්න: අවශ්‍ය ("connect.php"); if(!$_GET["ගොනුව"]) දෝෂය("අතුරුදහන් පරාමිතිය!"); if($_GET["ගොනුව"](0)==".") දෝෂය("වැරදි ගොනුව!"); if(file_exists($directory."/".$_GET["file"])) ( /* අමුත්තා සෙවුම් බොට් එකක් නොවේ නම්, අපි බාගැනීම ගණන් කරමු: */ if(!is_bot()) mysql_query(" INSERT INTO download_manager SET ගොනු නාමය ="".mysql_real_escape_string($_GET["file"])."" අනුපිටපත් යතුර මත යාවත්කාලීන downloads=downloads+1"); ශීර්ෂකය("ස්ථානය: ".$directory."/".$_GET[ "ගොනුව"] ); පිටවීම; ) වෙනත් දෝෂයක් ("මෙම ගොනුව කරයි නොපවතියි!"); /* උපකාරක ශ්‍රිත: */ ශ්‍රිත දෝෂය($str) ( die($str); ) ශ්‍රිතය is_bot() ( /* මෙම ශ්‍රිතය රොබෝවක් සඳහා පරීක්ෂා කරයි */ $botlist = array("Teoma", " alexa ", "froogle", "Gigabot", "inktomi", "looksmart", "URL_Spider_SQL", "Firefly", "NationalDirectory", "Ask Jeeves", "TECNOSEEK", "InfoSeek", "WebFindBot", " " , "crawler", "www.galaxy.com", "Googlebot", "Scooter", "Slurp", "msnbot", "appie", "FAST", "WebBug", "Spade", "ZyBorg", " rabaz", "Baiduspider", "Feedfetcher-Google", "TechnoratiSnoop", "Rankivabot", "Mediapartners-Google", "Sogou web spider", "WebAlta Crawler", "TweetmemeBot", "Butterfly", "Twitturls" , "Me.dium","Twiceler"); foreach($botlist ලෙස $bot) ( if(strpos($_SERVER["HTTP_USER_AGENT"],$bot)!==false) return true; // යනු bot ) ආපසු අසත්‍ය; // බොට් එකක් නොවේ)

    ඔබගේ ආගන්තුකයා මනුෂ්‍යයෙක්ද සෙවුම් යන්ත්‍ර රොබෝවෙක්ද යන්න පරීක්ෂා කිරීම වැදගත් වේ. රොබෝවරු නිසැකවම හොඳයි, නමුත් අපගේ සංඛ්‍යාලේඛන විකෘති කිරීමට ඔවුන්ට ඉඩ නොදෙමු. දත්ත සමුදායේ ඇති පේළිය is_bot() පරික්ෂා කිරීමෙන් පසුව පමණක් යාවත්කාලීන වන්නේ එබැවිනි.

    පියවර 4 - MySQL

    පෙර පියවරේදී අප දුටු පරිදි, බාගත කිරීම් ගණන download_manager වගුවේ පේළියක් ලෙස ගබඩා කර ඇත. පළමුව, මෙම ඉල්ලීම ක්‍රියාත්මක වන ආකාරය පැහැදිලි කරමු:

    download.php

    download_manager තුළට ඇතුල් කරන්න SET filename="filename.doc" අනුපිටපත් යතුර මත යාවත්කාලීන downloads=downloads+1

    එය MySQL හට download_manager වගුවට නව පේළියක් ඇතුළු කරන ලෙසත්, පේළියේ ගොනු නාම ක්ෂේත්‍රය බාගත කිරීම සඳහා කැඳවන ලද ගොනුවේ අගයට සකසන ලෙසත් පවසයි. කෙසේ වෙතත්, ගොනු නාම ක්ෂේත්‍රය වගුවේ අද්විතීය දර්ශකයක් ලෙස නම් කර ඇත. මෙයින් අදහස් කරන්නේ එක් එක් පේළිය එක් වරක් පමණක් ඇතුළත් කළ හැකි බවයි, එසේ නොමැතිනම් අනුපිටපත් යතුරු දෝෂයක් සිදුවනු ඇත.

    විමසුමේ දෙවන කොටස ක්‍රියා කරන්නේ මෙතැනදීය - ON DUPLICATE KEY UPDATE විසින් MySQL වෙත පවසනු ඇත, ගොනුව දැනටමත් දත්ත ගබඩාවේ තිබේ නම් බාගැනීම් තීරුවට එකක් එක් කරන්න.

    මේ ආකාරයට, නව ගොනු පළමු වරට බාගත කරන විට දත්ත ගබඩාවට ස්වයංක්‍රීයව එකතු වේ.

    පියවර 5 - jQuery

    තත්‍ය කාලීන ලුහුබැඳීම සිදු කිරීම සඳහා, එක් එක් බාගැනීමෙන් පසු ගොනු නාමයට යාබද කවුන්ටරය යාවත්කාලීන කිරීම හොඳය.

    අපි මෙය jQuery භාවිතයෙන් කරන්නෙමු:

    script.js

    $(document).ready(function())( /* පිටුව පූරණය වූ පසු කේතය ක්‍රියාත්මක වේ */ $("ul.manager a").click(function())( var countSpan = $(".download -ගණන්",මෙය) ; countSpan.text(parseInt(countSpan.text())+1);));));

    අපි සරලව ගොනු වෙත යොමු කරන සබැඳි වෙත ක්ලික් හසුරුවන්නක් පවරන අතර, සෑම ක්ලික් කිරීමකදීම අපි අගයක් එකතු කරමු.

    පියවර 6 - htaccess

    කළ යුතු තවත් එක් දෙයක් තිබේ. Download.php පරිශීලකයා පරාමිතියක් ලෙස සම්මත කරන ලද ඉල්ලූ ගොනුව වෙත හරවා යවයි. කෙසේ වෙතත්, බ්‍රව්සර් සමහර ගොනු කෙලින්ම විවෘත කිරීමට උත්සාහ කරන බව ඔබ දැක ඇති. අපි ඔවුන්ගේ පැටවීම ආරම්භ කළ යුතුයි. ගොනු ෆෝල්ඩරයේ පිහිටා ඇති .htacess ගොනුව තුළ පේළි කිහිපයක් සමඟ මෙය කළ හැකිය.

    ForceType යෙදුම/octet-stream

    දැන් අපේ කවුන්ටරය සම්පූර්ණයෙන්ම සූදානම්!

    නිගමනය

    ආදර්ශනය ක්‍රියා කිරීමට නම්, ඔබ MySQL දත්ත ගබඩාවේ බාගත_ කළමනාකරු වගුව ප්‍රතිනිර්මාණය කළ යුතුය. ඔබට අවශ්‍ය SQL කේතය මූලාශ්‍රවලින් සොයාගත හැක.

    මෙයින් පසු, configuration.php ගොනුවේ දත්ත සමුදායට සම්බන්ධ වීමට ඔබේ දත්ත එක් කරන්න.

    // Magic quotes මාදිලියේ පරිවර්තනය ඉවත් කරන්න $_POST["අන්තර්ගතය"] = addslashes($_POST["content"]);

    // ගොනුවේ අන්තර්ගතය නැවත ලියන්න file_put_contents($_POST["ගොනු නාමය"], "$_POST");

    4.9 ගොනු බාගත කිරීමේ කවුන්ටරය

    සියලුම ගොනු බාගැනීම් කවුන්ටරවල ක්‍රියාකාරිත්වය පදනම් වී ඇත්තේ අමුත්තන්ට බාගත කිරීමේ සබැඳියක් ලෙස ගොනුව ලබා නොදෙන නමුත් බාගත කිරීම සැලකිල්ලට ගෙන ගොනුව පරිශීලක බ්‍රවුසරයට යවන ස්ක්‍රිප්ට් එකකට සබැඳියක් මත ය.

    අපි අපගේ කවුන්ටරය ගොඩනඟන්නේ ගොනුවක් බාගත කිරීම සඳහා සබැඳි වත්මන් පිටුවට සබැඳි වන පරිදි, ගොනු නාමය පරාමිතියක් ලෙස සම්මත කිරීම, උදාහරණයක් ලෙස, index.php?down=archive.zip . පහළ පරාමිතිය සම්මත වී ඇත්දැයි බැලීමට ස්ක්‍රිප්ට් පරීක්ෂා කරනු ඇත, එසේ නම්, එය filecount.txt හි සංරක්ෂිත බාගැනීම ලොග් කරනු ඇත. පිටුව නැවත පූරණය කළ විට, එක් එක් ලේඛනාගාරය සඳහා ප්‍රති අගයන් බ්‍රවුසර කවුළුව වෙත ප්‍රතිදානය සඳහා ගොනුවෙන් උපුටා ගනු ලැබේ. බාගත කළ සංරක්ෂිතයට යන මාර්ගය සඳහන් කරමින් අමුත්තාට HTTP ස්ථාන ශීර්ෂය යැවීමෙන් ගොනුව බාගත කිරීම සඳහා මාරු කරනු ලැබේ. ගොනු බාගැනීම් කවුන්ටරය ස්ක්‍රිප්ට් ලැයිස්තුගත කිරීම 4.31 හි පෙන්වා ඇති ආකාරයට දිස් විය හැක.

    ලැයිස්තුගත කිරීම 4.31. ගොනු බාගැනීම් කවුන්ටරය

    // දෝෂ හැසිරවීමේ මට්ටම සකසන්න error_reporting(E_ALL & ~E_NOTICE);

    // ගොනු නාම අරාවක ලියාපදිංචි කරන්න

    $file_name = array("archive1.zip","archive2.zip","archive3.zip");

    // සංඛ්‍යාලේඛන ගබඩා කර ඇති ගොනුවේ නම $countname = "filecount.txt";

    // ගොනුව පවතී නම්,

    // වත්මන් සංඛ්‍යාලේඛන අරාවකට කියවන්න (file_exist($countname))

    // කවුන්ටරයේ අන්තර්ගතය ලබා ගන්න

    $content = file_get_contents($countname);

    // අරාව ගලවන්න

    $count = unserialize($content);

    // එවැනි ගොනුවක් නොමැති නම්, එය සාදන්න,

    // සහ සංඛ්‍යාලේඛන නැවත සකසන්න

    // $count අරාව ශුන්‍ය අගයන් පුරවන්න ($file_name $file ලෙස)

    $count[$file] = 0;

    // අරාව ඇසුරුම් කර එය කවුන්ටරය තුළ තබන්න file_put_contents($countname, serialize($count));

    // පහළ පරාමිතියේ අගය සම්මත වී ඇත්දැයි පරීක්ෂා කරන්න

    // GET ක්‍රමය හරහා

    if(isset($_GET["පහළ"]))

    // $_GET["පහළ"] පරාමිතියෙහි අගය ඇතුළත් දැයි පරීක්ෂා කරන්න

    // $file_name අරාව තුළට

    if(in_array($_GET["පහළ"],$file_name))

    // මෙම ගොනුව බාගත කර ඇති බව ලියාපදිංචි කරන්න

    //යතුර සමඟ කවුන්ටරයේ අගය වැඩි කරන්න

    // $_GET["පහළ"] එකකින්

    $count[$_GET["පහළ"]]++;

    // කවුන්ටර ගොනුව උඩින් ලියන්න file_put_contents($countname, serialize($count));

    echo "$file ගොනුව පටවා ඇත ".intval($count[$file])." වාර
    ";

    බාගත කළ ගොනු වල නම් $file_name අරාව තුළ ගබඩා කර ඇත; නව සංරක්ෂිතයක් එක් කිරීමෙන් පද්ධතිය තුළ එහි ස්වයංක්‍රීය ලියාපදිංචිය සිදුවේ. හේතු කිහිපයක් නිසා අරාව තුළ පූර්ව ලියාපදිංචිය අවශ්ය වේ. පළමුව, පහළ පරාමිතිය හරහා අරා නාමයක් පිළිගන්නා විට, එය පූරණය කිරීමට අවසර දී ඇති ගොනු අතර දැයි පරීක්ෂා කළ යුතුය. දෙවනුව, අරාවක ගොනු නාම සැකසීම වඩාත් පහසු වේ. මේ අනුව, ගොනු බාගැනීම් ගණන ගබඩා කරන $count අරාව, පද්ධතියේ ලියාපදිංචි වී ඇති ගොනු අරාව මත පදනම්ව ස්වයංක්‍රීයව ගොඩනගා ඇත.

    serialize() ශ්‍රිතය භාවිතයෙන් array එකක් string එකකට පැකට් කිරීම පහසු වන අතර, unserialize() ශ්‍රිතය භාවිතයෙන් එය නැවත array එකකට unpack කිරීම පහසුය.

    සටහන

    ප්‍රධාන අන්තර්ගතය යැවීමට පෙර සියලුම HTTP ශීර්ෂයන් යැවිය යුතු බව මතක තබා ගැනීම වැදගත්ය, එසේ නොමැතිනම් ඒවා නොයවන අතර PHP පරිවර්තකයා අනතුරු ඇඟවීමක් නිකුත් කරනු ඇත "අවවාදයයි: ශීර්ෂ තොරතුරු වෙනස් කළ නොහැක - ශීර්ෂයන් දැනටමත් යවා ඇත"

    (අවවාදයයි: ශීර්ෂ තොරතුරු වෙනස් කළ නොහැක - ශීර්ෂයන් දැනටමත් යවා ඇත). මෙය HTTP ප්‍රොටෝකෝලය මගින් නියම කරනු ලැබේ: ශීර්ෂයන් පළමුව යවනු ලැබේ, පසුව ලේඛනයේ අන්තර්ගතය, එබැවින් බ්‍රව්සර් කවුළුව වෙත ඕනෑම ප්‍රතිදානයක් ශීර්ෂ යැවීමේ අවසානය සහ ලේඛනයේ ශරීරය යැවීමේ ආරම්භය ලෙස සැලකේ. ශීර්ෂ යැවීමට පෙර බ්‍රවුසර කවුළුව වෙත ප්‍රතිදානය නොවැළැක්විය හැකි නම්, ඔබ ප්‍රතිදාන පාලන කාර්යයන් වෙත යොමු විය යුතුය, සියලු ප්‍රතිදානය බෆරයක තබා ස්ක්‍රිප්ට් අවසානයේ එය යැවීම.

    ඔබට ලැයිස්තුගත කිරීම 4.31 හි දැකිය හැකි පරිදි, filecount.txt ගොනුව අස්ථානගත වී ඇති පළමු ධාවන තත්ත්වය ස්ක්‍රිප්ට් හසුරුවයි - එය $file_name අරාවේ එක් එක් ගොනුව සඳහා ශුන්‍ය අගයන් මඟින් ක්‍රියාරම්භ කරන පළමු පිටු පැටවීමේදී ස්වයංක්‍රීයව නිර්මාණය වේ. ලැයිස්තුගත කිරීම 4.31 හි ස්ක්‍රිප්ටයේ ප්‍රතිඵලය Fig. 4.4

    සහල්. 4.4 ගොනු කවුන්ටරයේ ප්රතිඵලය

    4.10. පෙළ සහ ග්‍රැෆික් ගොනු සුරැකීම

    පෙළ හෝ HTML ගොනු වෙත සබැඳියක් අනුගමනය කිරීමෙන් ඒවා බ්‍රවුසර කවුළුව තුළ ප්‍රදර්ශනය වේ, එය සැමවිටම පහසු නොවේ, විශේෂයෙන් ගොනුව බාගත කිරීමට අදහස් කරන්නේ නම්. එම ඉරණමම ග්‍රැෆික් ගොනු සහ, සාමාන්‍යයෙන්, බ්‍රවුසරයට ප්‍රදර්ශනය කළ හැකි ඕනෑම ගොනුවක් බලා සිටියි. අමුත්තන්ගේ බ්‍රවුසරය සේවාදායකයෙන් ගොනුවේ අන්තර්ගතය ගැන "ඉගෙන", එක් එක් ගොනුව HTTP ශීර්ෂයන් සමඟ ඇති බැවින්, අන්තර්ගතය, බාගත කළ ගොනුවේ ප්‍රමාණය, කුකියක් සැකසීමේ අවශ්‍යතාවය යනාදිය ගැන සේවාදායකයාට දැනුම් දෙයි. ගොනු වර්ගය තීරණය කළ නොහැකි විය, එය ද්විමය ධාරාව ලෙස යවනු ලැබේ.

    ලැයිස්තුගත කිරීම 4.32 හි පෙන්වා ඇති HTTP ශීර්ෂයන් යැවීමෙන් ඔබට මෙම හැසිරීම යටපත් කළ හැක.

    ලැයිස්තුගත කිරීම 4.32. පෙළ සහ ග්‍රැෆික් ගොනු සුරැකීමට ඔබට ඉඩ සලසන ස්ක්‍රිප්ට් එකක්

    $ ගොනු නාමය = මූලික නම($_GET["පහළ"]); ශීර්ෂකය ("අන්තර්ගතය-ඉවත් කිරීම: ඇමුණුම; ගොනු නාමය=$ ගොනු නාමය"); ශීර්ෂකය ("අන්තර්ගත-වර්ගය: යෙදුම/ඔක්ටෙට්-ප්‍රවාහය"); ශීර්ෂකය("අන්තර්ගත-දිග: ".ගොනුකරණය($_GET["පහළ"]));

    echo file_get_contents($_GET["පහළ"]); ?>

    ලැයිස්තුගත කිරීම් 4.32 හි ඇති ස්ක්‍රිප්ට් ගොනු නාමයක් GET පරාමිතියක් ලෙස ගනී, උදාහරණයක් ලෙස,

    index.php?down=filetext.txt. මූලික නාමය() ශ්‍රිතය මඟින් නම ලබා ගනී

    ගොනුව (GET පරාමිතිය පහළට ගොනුව වෙත යන මාර්ගය අඩංගු නම්). Content-Disposition HTTP ශීර්ෂය සුරැකිය යුතු ගොනුවේ නම සඳහන් කරයි, එය ගොනු නාම ගුණාංගය මගින් තීරණය වේ. ඉහත ස්ක්‍රිප්ටයේ, ගොනු නාම පරාමිතිය යවන ගොනුවේ නමට සමාන වේ, කෙසේ වෙතත්, අත්තනෝමතික නමක් ගොනු නාම පරාමිතිය ලෙස සම්මත කළ හැක. අන්තර්ගත ආකාරයේ HTTP ශීර්ෂය මඟින් මාරු කරන දත්ත ද්විමය වන අතර බ්‍රවුසරය මගින් අර්ථකථනය නොකළ යුතු බව පෙන්නුම් කරයි. අන්තර්ගත-දිග HTTP ශීර්ෂකය ගොනුවේ ප්‍රමාණය සේවාදායකයාට ලබා දෙයි. අවසාන පේළිය $_GET["down"] පරාමිතිය හරහා ගිය ගොනු අන්තර්ගතය පෙන්වයි, ඒවා file_get_contents() ශ්‍රිතය භාවිතයෙන් ලබා ගනී. ලැයිස්තුගත කිරීම 4.32 හි ස්ක්‍රිප්ටයේ ප්‍රතිඵලය රූපයේ දැක්වේ. 4.5

    සටහන

    ගොනුවේ අන්තර්ගතය ප්‍රතිදානය කිරීමෙන් පසුව, වෙනත් කිසිවක් ප්‍රවාහයට ප්‍රතිදානය නොකිරීම වැදගත්ය: echo construct හෝ direct output මගින් නොවේ - එසේ නොමැතිනම් සියල්ල ගොනුවේ අවසානයට එකතු වේ. මෙය අවසන් වන ?> ටැගයට පසුව ඇති විය හැකි අවකාශයන් සහ නව රේඛා යන දෙකටම අදාළ වේ.

    සහල්. 4.5 ගොනුවක් බාගත කිරීම සඳහා සංවාද කොටුව

    මගේ සරල කර්තෘගේ ව්‍යාපෘතිය සැකසීමේදී මා මෑතකදී උනන්දු වූ ඊළඟ ප්‍රශ්නය වූයේ මෙහි පළ කර ඇති විශේෂිත ගොනුවක බාගැනීම් ගණන ගණනය කරන්නේ කෙසේද යන්නයි. මේ සඳහා වෙනත් ප්ලගිනයක්, යම් ආකාරයක බාගත කළමණාකරුවෙකු හෝ සරල දේ - බාගැනීම් කවුන්ටරයක් ​​අවශ්‍ය යැයි උපකල්පනය කිරීම වඩාත් තර්කානුකූල විය. අන්තර්ජාලය පිරික්සීමෙන් පසු, සුපුරුදු පරිදි, මෙම ප්ලගීන වල කරත්තයක් සහ කුඩා කරත්තයක් ඇති බව පෙනී ගියේය. නමුත් නැවතත්, ඒවා පිළිබඳ සමාලෝචන නොමැත. තෝරා ගත යුත්තේ කුමක්ද යන්න නියත වශයෙන්ම පැහැදිලි නැත, සුපුරුදු පරිදි, මට සෑම දෙයක්ම මා විසින්ම පරීක්ෂා කිරීමට සිදු විය. සහ පරීක්ෂණ ප්රතිඵල මත පදනම්ව, මෙම සමාලෝචකයා නිර්මාණය කරන ලදී. ලිවීමට බොහෝ කාලයක් ගත වූ අතර, ඉලක්කය වූයේ ඒවායේ සැකසුම් පිළිබඳ සම්පූර්ණ සමාලෝචනයක් සමඟ ලබා දී ඇති සියලුම ප්ලගීන හොඳින් පරීක්ෂා කිරීම නොවේ, එබැවින් ඔබට එක් එක් සවිස්තරාත්මක තිරපිටපත් සොයාගත නොහැකි නමුත් ප්‍රධාන සැකසුම් ඇත. ඔවුන්ගෙන් සමහරක් ගැන කතා කිරීමට මට කිසිසේත් අවශ්‍ය නොවීය - ඔවුන් ඉතා මෝඩ ය, නමුත් මම ඔවුන් දෙස බැලූ බැවින්, කිසිවක් ලිවීමට නොහැකි වීම ලැජ්ජාවකි.

    හැදින්වීම.

    එබැවින්, කාර්යය වූයේ වර්ඩ්ප්‍රෙස් සඳහා බාගැනීම් කවුන්ටරයක් ​​සැකසීමෙන් යම් ගොනුවක බාගත කිරීම් ගණන ගණනය කිරීමයි. සමීපව පරීක්ෂා කිරීමේදී, එය උප කාර්යයන් කිහිපයකට වැටුණි, නැතහොත් එය ඉටු කරන ප්ලගිනයක් සඳහා ප්‍රාර්ථනා කරයි. මෙන්න ඒවායේ කෙටි ලැයිස්තුවක්:

    • බාගත කිරීම් සංඛ්‍යාව වර්ග කිරීමේ හැකියාව ඇතිව පරිපාලක පැනලයේ කොතැනක හෝ ප්‍රදර්ශනය කිරීම අවශ්‍ය වේ - දිනකට කීයක් බාගත කර ඇත්ද, සතියකට, මාසයකට, අවුරුද්දකට, මුළු
    • එකිනෙකට සාපේක්ෂව ගොනු බාගැනීම්වල ප්‍රස්ථාර/රූප සටහන් දැකීමට හැකිවීම යෝග්‍ය වේ
    • කාලයත් සමඟ ගොනු බාගැනීම්වල ප්‍රස්ථාර/රූප සටහන් දැකීමට හැකිවීම යෝග්‍ය වේ
    • ගොනුව අවසන් වරට බාගත කළ විට සංඛ්‍යාලේඛන තබා ගැනීම සුදුසුය
    • ගොනුව බාගත කළ වාර ගණන, මෙන්ම එහි විශාලත්වය සහ එය බාගත කිරීමට සූදානම් වන පරිශීලකයා සඳහා බාගත කළ දිනය පිළිබඳ තොරතුරු සබැඳිය අසල ප්‍රදර්ශනය කිරීමේ හැකියාව. හොඳයි, හෝ ඉවත් නොකිරීමට - පරිපාලකගේ ඉල්ලීම පරිදි
    • TinyMCE සංස්කාරකයේ පෝස්ට් ලිවීමේ පැනලයේ වෙනම බොත්තමක් භාවිතයෙන් මේ සඳහා වගකිව යුතු කේතය ඇතුළත් කිරීමේ හැකියාව (මම ඉක්මන් ටැග් භාවිතා කිරීමට කැමති නැත)
    • බාගත කිරීමේ වේගය සීමා කිරීමේ හැකියාව (හරියටම)
    • මෙම ප්ලගිනයට උඩුගත කිරීමේ කාර්යයක් ඇමිණීම (සේවාදායකයට ගොනු උඩුගත කිරීම) - ඊට පටහැනිව, මම අත්හැරියේ නැත. FTP මටත් හොඳට වැඩ කරනවා. නමුත් එය ඕනෑවට වඩා මැදිහත් නොවන්නේ නම්, එය රැඳී සිටීමට ඉඩ දෙන්න
    • බාගත කිරීමේ සබැඳියට ලස්සන බොත්තමක් ඇමිණීමට හැකිවීම සතුටක් වනු ඇත - නමුත් මට එය class="button" ලිවීමට ප්‍රමාණවත් වේ.

    ABAP

    ගොනුව බාගන්න!

    • ඔහු තම වෙබ් අඩවියෙන් පමණක් නොව, සබැඳියෙන් පමණක් බාගත කිරීම් ගණන ගණන් කළහොත් හොඳයි
    • තහනම් කිරීමේ හැකියාව සෘජු බාගත කිරීමගොනුව සේවාදායකයේ ඇති ස්ථානය නොපෙන්වයි.

    මෙන්න කුඩා ලැයිස්තුවක්.

    සමාලෝචනය කරන්න

    අපි තාක්ෂණික පිරිවිතරයන් පිළිබඳව තීරණය කළ පසු, අප වෙත සෘජුව ඉදිරිපත් කරන දේ සලකා බැලීමට පටන් ගනිමු.

    1. Download Counter 1.2 ප්ලගිනය, මෙතැනින් බාගත කර ඇත.

    මුලදී, ප්ලගින පිටුව පිහිටා ඇත, නමුත් කතුවරයා වසර 4 කට වඩා වැඩි කාලයක් එයට සහාය නොදක්වයි. මා සඳහා ප්ලගීන නාමාවලිය තුළ අපි ඒ සඳහා තවත් ෆෝල්ඩරයක් සාදන්නෙමු - බාගත-කවුන්ටරය, සහ ගොනු දෙකම එහි දමන්න. ප්රතිඵලයක් වශයෙන් - ඔබ සිතන්නේ කොහේද? - ඒ සඳහා සැකසුම් වාර්තාවල දිස්වේ. ඉතා මුල්, නමුත් හරි.

    අපි ඇතුලට ගිහින් download-manager.php ගොනුවට මාර්ගය ලියන්නෙමු (මම ඇත්තටම කිසිම විකාරයක් මුලට විසි කිරීමට කැමති නැහැ). හා අපි බලමු මොනවද අපිට ලැබුනේ කියලා. ගොනුව උඩුගත කරන්න, එය බාගත කර ඇත්දැයි පරීක්ෂා කරන්න අතින් මාදිලිය, ඔබ බ්‍රවුසරයේ සෘජු සබැඳියක් ඇතුළත් කරන්නේ නම්, කවුන්ටරයක් ​​සෑදීමට ප්ලගිනයේ මාර්ගය ඇතුළත් කරන්න. න්‍යායාත්මකව, හැඳුනුම්පතක් සෑදිය යුතු අතර, එය සෑම තැනකම ඇතුළත් කළ යුතුය. නමුත් කිසිවක් ක්‍රියාත්මක නොවීය - එය "දෝෂය - පටිගත කිරීම සුරැකිය නොහැක" යන දෝෂය ලබා දෙයි. හොඳයි, හරි, අපි ඒත්තු ගැන්වුවා, අපි එය root download-manager.php වෙත මාරු කරමු - නැවතත් කිසිවක් නැත, එම දෝෂය. හොඳයි, ඔබ සමඟ නිරයට, ගෝල්ඩ්ෆිෂ්, කතුවරයා අත් නොහරින ලද ප්ලගීන තවමත් තේරුම් ගැනීමට මට ප්රමාණවත් නොවීය. එපමණක් නොව, ක්රියාකාරිත්වය ප්රායෝගිකව ශුන්ය වේ.

    2. Download Counter Advanced 1.1 ප්ලගිනය, බාගත කර ඇත.

    එය මට සැබවින්ම වැඩ නොකළ බව මම වහාම කියමි, එබැවින් ඔබට එහි ස්ථාපනය සහ වින්‍යාසය ගැන කියවිය හැක්කේ ශාස්ත්‍රීය උනන්දුවකින් පමණි. අත්යවශ්යයෙන්ම, මෙය එකම ප්ලගිනයකි, සුළු වශයෙන් වෙනස් කර ඇත. දෙවියන්ට ස්තූතියි, උපදෙස් පරිවර්තනය කර නැතත්, ඔබට ඒවා සාමාන්‍යයෙන් කියවිය හැකි අතර පරිවර්තකයා අදහස් කළේ කුමක්දැයි තේරුම් ගැනීමට උත්සාහ නොකරන්න. මාර්ගය වන විට, පරිපාලක පැනලයේ එය සම්පූර්ණයෙන්ම වෙනස් ප්ලගිනයක් ලෙස පෙනේ, යාවත්කාලීන කිරීමට ඉදිරිපත් කරයි (ඔව්, මොන මගුලක්ද). පෙර ප්ලගිනයට සමානව, එහි පිටුව පිහිටා ඇති අතර, ඒ හා සමානව කර්තෘ වසර 4 කට වැඩි කාලයක් එයට සහාය නොදක්වයි. ප්‍රතිසමයක් ලෙස, අපි ප්ලගීන නාමාවලිය තුළ ඒ සඳහා වෙනත් ෆෝල්ඩරයක් සාදන්නෙමු, මගේ බාගත-කවුන්ටරය වන අතර අපි සියලුම ගොනු එහි විසි කරමු. සියලුම ලිපිගොනු සඳහා බාගත කිරීමේ වේගය එකවර සීමා වී ඇති අතර, එක් එක් සඳහා සකසා නොමැති වුවද, සැකසීම් ඇත්තෙන්ම පොහොසත් ලෙස පෙනේ. කෝ ෆයිල් ඩවුන්ලෝඩ් මැනේජර්..පීඑච්පී (ෆයිල් එකේ නම අන්තිමට අමතක කරන්න එපා, නමුත් මම මුලින්ම අනුමාන කළේ සියලුම බාගැනීම් කොහෙද තියෙන්නේ කියලා, ඒක මාව දරුණු විස්මයකට පත් කළා. පසුව සිදු වූ පරිදි, බාගත කිරීම් උඩුගත කරන ඩිරෙක්ටරියේ නම මම අනුමාන කළෙමි, මෙහි මගේ තර්කනය ප්ලගිනයේ කතුවරයා සමඟ 100% සමානව ක්‍රියා කරයි.

    ගොනු වෙත මාර්ගය තෝරා ගැනීම පහසු කිරීම සඳහා අපි බාගත කිරීම් නාමාවලියෙහි ("ප්‍රවර්ග සහ නාමාවලි" සැකසුම් තුළ) සේවාදායකයේ ඇති ෆෝල්ඩරවල නම් එකතු කරමු. ඔබ ඒවා එකතු නොකරන්නේ නම්, ඔබට බාගත කිරීම් root වෙත සියල්ල බාගත කිරීමට සිදු වනු ඇත. සුරකින්න, ඔබට බාගැනීම් එකතු කළ හැක. දළ වශයෙන් අපට ලැබෙන්නේ මෙයයි.

    දැන් අපි එය පෝස්ට් එකට ඇතුල් කිරීමට උත්සාහ කරමු. අපි සබැඳියක් එකතු කරමු, එහි අපි අපගේ සබැඳිය කේතයට වෙනස් කරමු, එය ප්ලගින සැකසුම් තුළ කෙලින්ම නිකුත් කෙරේ. එතකොට... මගුලක්! HTTP දෝෂයකි 500 (අභ්‍යන්තර සේවාදායක දෝෂය): සේවාදායකය ඉල්ලීම සම්පූර්ණ කිරීමට උත්සාහ කරන අතරතුර අනපේක්ෂිත තත්වයක් ඇති විය. හොඳයි, මම දැන් කියන්න ගියේ පෝස්ට් එකකට කෙලින්ම කවුන්ටරයක් ​​එකතු කරන ආකාරය, ඇතුලේ ඇති ලින්ක් එකට නම් එය වැඩ කිරීමට

    ABAP

    < ahref= "http://chewriter..jpg" />

    එවිට ඔබට බාගැනීම් බොත්තමක් පෙන්විය හැක - එය වංකයි, ඇත්තෙන්ම. ප්ලගිනය සඳහා බොහෝ දේ, ඔබේ කාලය නාස්ති විය. ඔහු ඇත්ත වශයෙන්ම සංඛ්‍යාලේඛන තබා නොගනී, මන්ද දෝෂය කොතැනදැයි අපි සොයා නොගනිමු.

    ඉහත සඳහන් කළ බාගැනීම් කවුන්ටරය උසස් යාවත්කාලීන කිරීමට යෝජිත ප්ලගිනය හරියටම මෙයයි. හොඳයි, ඔහු යෝජනා කරයි - හරි, අපි එය බාගත කර බලමු. ප්ලගිනය ද වසර 3 කට වැඩි කාලයක් යාවත්කාලීන කර නොමැති අතර සමහර පරිශීලකයින් එහි කේතය පවා නිවැරදි කර ඇත. එය ඉතා සාර්ථකව ස්ථාපනය කර ඇත, සැකසුම් වල තපස් ශුභවාදී හැඟීමක් ඇති නොකරයි. මාර්ගය වන විට, හොඳින් සිදු කර ඇත, ඔවුන් සැකසුම් තැබිය යුත්තේ කොතැනදැයි අනුමාන කළහ - පෙර නඩුවට වඩා නරක නැත. අපි සැකසුම් පිටුවේ කවුන්ටර එකතු කරමු, සෑම දෙයක්ම කළ යුතු පරිදි පෙන්වනු ලැබේ.

    අපි බලමු පෝස්ට් එකට මොනවද එකතු කරලා තියෙන්නේ කියලා. ඔව්, බොත්තම් නැත. ඔහ්, ඇත්ත වශයෙන්ම, සෑම දෙයක්ම අවබෝධාත්මක බව මට එතැනම අමතක විය. අපි උපදෙස් දෙස බලමු. , බාගත කළ , සහ ඒ සමගම (සමහරවිට CNC නිසා) එය ඇත්ත වශයෙන්ම කිසිවක් ගණන් නොගනී.

    එබැවින්, අපි එය තවදුරටත් සලකා බලන්නේ නැත, ඒ සමඟ ඇති ප්ලගිනය බාගත කිරීමේ කවුන්ටර ප්‍රස්ථාරය, එය චිත්‍රක ආකාරයෙන් තොරතුරු පෙන්වයි.

    එය ලියා ඇත්තේ අපගේ සගයා විසිනි, නමුත් අවාසනාවකට එයට කළ හැක්කේ ගොනුව එහි නමට යාබදව බාගත කළ පුද්ගලයින් සංඛ්‍යාව ප්‍රදර්ශනය කිරීම පමණි - සංඛ්‍යාලේඛන හෝ වෙනත් හොඳ දේවල් සපයා නොමැත. කෙසේ වෙතත්, ඔබ අවමවාදයට ආදරය කරන්නෙකු නම්, ඔබට අවශ්ය වන්නේ මෙයයි. අමතක කරන්න එපා, බොත්තම් නැත, කෙටි කේතයක් වැනි


    WordPress සඳහා DIY බාගැනීම් කවුන්ටරය

    ඔබට එය අතින් ඇතුල් කිරීමට සිදුවේ. කතුවරයා සෑම දෙයක්ම විස්තරාත්මකව විස්තර කිරීම ඉතා හොඳයි, එබැවින් මට එය මා විසින්ම පරීක්ෂා කිරීමට සිදු නොවීය.

    හොඳයි, අපි අපේ අය විසින් ලියන ලද ප්ලගීන ගැන කතා කරන්නේ නම්, අපට තවත් එකක් සඳහන් කිරීමට උදව් කළ නොහැක. එහි විශාල වාසිය නම් එය ඔබට ගොනු බාගැනීම් ගණන පමණක් නොව සබැඳි මත ක්ලික් කිරීම් ගණන් කිරීමට ඉඩ සලසයි - ඒවා ගොනුවකට හෝ වෙනත් පිටුවකට ගෙන යනවාද යන්න ගැටළුවක් නොවේ. නැතහොත් වෙනත් කෙනෙකුගේ පිටුවක ගොනුවකට :) ඔහු මෙයද ගණන් කරනු ඇත, නැතහොත් න්‍යායාත්මකව ඔහු එය ගණන් කළ යුතුය. සංඛ්‍යාලේඛන සමඟ, එය ද එතරම් හොඳ නැත, සංස්කරණ පැනලයේ බොත්තම් නොමැත, සහ බාගැනීම් සඳහා ද සීමාවන් නොමැත. නමුත් එය දැකීමට තවමත් සිත්ගන්නා සුළුය. එබැවින්, අපි බාගත කර ස්ථාපනය කරමු. ප්‍රතිපත්තිමය වශයෙන්, කර්තෘගේ වෙබ් අඩවියේ තරමක් සවිස්තරාත්මක විස්තරයක් ඇත, එබැවින් මම වැඩි විස්තර සඳහා නොයමි. ඔබට ගොනුවක හෝ සබැඳියක කවුන්ටරයක් ​​සැකසීමට අවශ්‍ය නම්, ඔබ කෙටි කේතයක් භාවිතා කළ යුතු බව හෝ සබැඳිය තුළට class="count" ඇතුළත් කළ යුතු බව ඔබ සැමවිටම මතක තබා ගත යුතුය. මෙය, ඇත්ත වශයෙන්ම, කරදරකාරී ය; බොත්තමක් සමඟ එය වඩාත් පහසු වනු ඇත. නමුත් වඩාත්ම කරදරකාරී දෙය නම්, සියලු උත්සාහයන් වලින් පසුව මට එය ප්‍රමාණවත් ලෙස ක්‍රියා කිරීමට නොහැකි වීමයි - කෙටි කේතයක් භාවිතා කළේ නම්, බාගත කිරීමේ සබැඳියම දර්ශනය නොවීය, සහ පන්තියක් භාවිතා කළේ නම්, සබැඳිවල සංඛ්‍යාලේඛන නොපෙන්වයි. පරිපාලක මණ්ඩලය. තිරපිටපත් කතුවරයාගෙන් නැරඹිය හැකිය - ඔබ අදහසටම කැමති නම්, එය උත්සාහ කරන්න, සමහර විට ඔබ සාර්ථක වනු ඇත.

    ඇත්තටම හරිම සරලයි. කෙටි කේත ආදිය අවශ්‍ය නොවේ. කෙසේ වෙතත්, මෙම ප්ලගිනය සංඛ්‍යාලේඛන සපයන්නේ කතුවරයා සඳහා පමණි; අමුත්තන් සඳහා, ගොනුවට සබැඳිය අසල, එය ප්‍රදර්ශනය නොවේ.

    කෙසේ වෙතත්, කුමන ගොනුව බාගත කළේ කවුරුන්ද සහ කවදාද යන්න පිළිබඳව සවිස්තරාත්මක සංඛ්‍යාලේඛන තබා ඇති බව සැලකිල්ලට ගත යුතුය. කෙසේ වෙතත්, එය භාවිතා කිරීම ඉතා පහසු නොවේ.

    සැකසුම් වලට පහත සඳහන් දෑ ඇතුළත් වේ:

    • ගොනු බාගත කළ හැකි බහලුම ඔබට නියම කළ හැක
    • ඔබට බාගත කිරීමට අවසර දී ඇති ගොනු වර්ග සඳහන් කළ හැක
    • කර්තෘ ලෙස ගොනු බාගැනීම් ගණන් කිරීම වළක්වන්න
    • එකම IP වෙතින් සබැඳියක් මත නැවත නැවත ක්ලික් කිරීම් එක් වරක් පමණක් ගණන් කෙරෙන කාල පරතරය තත්පර කිහිපයකින් සකසන්න
    • දිනකට එක් IP එකකින් බාගත කළ හැකි ගොනු ගණන සීමා කරන්න
    • බාගත කිරීම දැන් ආරම්භ වන තොරතුරු සහිත යම් ආකාරයක අතරමැදි පිටුවක් භාවිතා කරන්න

    කෙසේ වෙතත්, මේ සියල්ල ක්‍රියාත්මක වන්නේ ඔබට .htaccess ගොනුව සංස්කරණය කිරීමට අවසර තිබේ නම් (මම එය වඩාත් සරලව පවසන්නේ කෙසේද ...) හෝ ඔබ එය සෘජුවම ඇතුළු කිරීමෙන් සබැඳිය සඳහන් කරන්නේ නම් පමණි.

    කෙසේ වෙතත්, එයට පරිශීලකයින් සඳහා සංඛ්‍යාලේඛන ප්‍රදර්ශනය කිරීමේ හැකියාවක් නොතිබූ නිසාත්, සබැඳි වර්ගය මතක තබා ගැනීමට මට අවශ්‍ය නොවූ නිසාත්, පෝලිමේ ඇති අනෙකුත් ප්ලගීන විසඳිය නොහැකි නම් පමණක් ආපසු යාමට තීරණය කරමින් මම එය සලකා බැලීම මේ මොහොතේ නතර කළෙමි. කාර්යය.

    තොරතුරු පෙන්වීම සම්බන්ධයෙන්, මෙම ප්ලගිනය පෙර ඡේදයේ සාකච්ඡා කළ ප්ලගිනයට බෙහෙවින් සමාන ය. එය වෙනස් වන්නේ එය ඔබට සතිපතා, මාසිකව, ඕනෑම කාල පරිච්ඡේදයක් සඳහා වෙන වෙනම සංඛ්‍යාලේඛන බැලීමට සහ සරලව ඉහළම 10 බැලීමට ඉඩ සලසයි. එහි හැකියාවන් අනුව, එය වඩාත් කාලකණ්ණි ය; අවසාන බාගත කිරීම හෝ විශේෂිත ගොනුවක් පිළිබඳ සංඛ්යා ලේඛන නොමැත, ගොනු බාගත කිරීම සඳහා සීමාවන් හඳුන්වා දීමේ හැකියාව ගැන සඳහන් නොකරන්න. කිසිසේත්ම පැහැදිලි ලියකියවිලි නොමැත. මෙය යම් ආකාරයක වැරදි වැටහීමක් මිස ප්ලගිනයක් නොවන බවට මට හැඟීමක් ඇති විය. මට තිරපිටපත් ලබා දීමට පවා අවශ්‍ය නැත, නමුත් වෛෂයික වීමට නම්, මම තවමත් ඒවා ලබා දෙන්නෙමි, කතෘගේ ඒවා.

    හොඳයි, මෙන්න අපි වැඩි හෝ අඩු වටිනා දෙයක් වෙත පැමිණ සිටිමු. බාගැනීම් මිලියන භාගයකට ආසන්න ප්‍රමාණයක් - එය යමක් කියයි. ප්ලගිනයේ නිල පිටුව පිහිටා ඇත. පෝස්ට් එකකට ගොනුවක් ඇතුළු කිරීම සඳහා, ඔබ දෘශ්‍ය සංස්කාරකයට ඉහළින් ඇති ඊතලය භාවිතා කළ යුතුය (නිරූපකයම එහි නොපෙන්වයි)

    දිස්වන කවුළුව තුළ, අවශ්‍ය ගොනුව තෝරන්න (එය දැනටමත් FTP හරහා උඩුගත කර ඇත්නම් මෙය උදාහරණයකි)

    ඉන්පසු, "නව බාගැනීම සුරකින්න" බොත්තම ක්ලික් කරන්න

    සහ, ඊළඟ තිරය වෙත ගොස්, බාගත කිරීමේ ආකෘතිය තෝරන්න, සහ මත ක්ලික් කරන්න ඇතුල් කරන්නතැපැල්. එය කිසිවක් සිදු නොවනු ඇත. ප්ලගිනය තරමක් දෝෂ සහිතයි නවතම අනුවාදයන් WordPress. එම නිසා, ඔබ අතිරේකව View Downloads සබැඳිය ක්ලික් කළ යුතුය

    ඉන්පසුව, පළමුව බාගත කිරීමේ ආකෘතිය තෝරා ගැනීමෙන් පසුව, ඇතුළත් කළ යුතු නිශ්චිත ගොනුව ඉදිරිපිට ඇතුළු කරන්න සබැඳිය ක්ලික් කරන්න.

    ඊට පසු අනුරූප කෙටි කේතය වැනි

    ABAP

    [downloadid="7592" format="1"]

    ප්ලගිනයට සියුම් අතින් වින්‍යාස කිරීම අවශ්‍ය වේ, නමුත් WYSIWYG සපයා නැත. හොඳ දෙය නම් ඔබ එය එක් වරක් පමණක් සැකසීමට අවශ්ය වේ. සවිස්තරාත්මක ලියකියවිලි කතුවරයාගෙන් ලබා ගත හැකිය.

    මෙන්න උදාහරණ පිහිටුවීමක්:

    ABAP

    (ශීර්ෂය)

    < ahref= "(url)" title="බාගත් (හිට්ස්,"ни разу","1 раз","% раза"}">{title}!}

    declinations සහාය නොදක්වන බව සැලකිල්ලට ගත යුතුය, i.e. ගොනුව 21 වතාවක් බාගත කර ඇත්නම් සහ ඔබේ අච්චුවේ “raza” තිබේ නම්, එය තරමක් රුසියානු නොවන ශබ්දයක් වනු ඇත.

    බොත්තම සමඟ විකල්පය මෙන්න:

    ABAP

    - (විස්තරය), (ප්‍රමාණය), උඩුගත කළ (දිනය,"Y-m-d"), බාගත කළ (පහර) වාර

    < ahref= "(url)" title="බාගත් (හිට්ස්,"ни разу","1 раз","% раза"}">!} - (විස්තරය), (ප්‍රමාණය), උඩුගත කළ (දිනය,"Y-m-d"), බාගත කළ (පහර) වාර

    පෙනෙන ආකාරයට:

    හොඳයි, යම් වෙනස් කිරීම් වලින් පසුව, මගේ මේ ආකාරයට පෙනෙන්නට පටන් ගත්තේය (තාම බොත්තම් නොමැතිව):

    රේඛා කේතය:

    ABAP

    (filetype_icon) (මාතෘකාව) (ගොනු විශාලත්වය: (ප්‍රමාණය), උඩුගත කළ: (දිනය,"d.m.Y"), බාගත් (පහර) වාර)
    (විස්තර)

    හැකියාවන් ලැයිස්තුව තරමක් පුළුල් ය:

    • ඔබට එය භාවිතයෙන් ගොනු උඩුගත කළ හැකිය (ඊතලය මත ක්ලික් කිරීමෙන්), හෝ ඒවා පිහිටා ඇති ස්ථානය සඳහන් කරන්න, ඒවා කලින් FTP හරහා උඩුගත කළේ නම්, ඔබට සරලව URL නියම කළ හැකිය.
    • ගොනුවේ සත්‍ය ස්ථානය සඟවයි, ඔබට අවශ්‍ය ඕනෑම URL සංයෝජනයක් ආදේශ කළ හැක
    • ඔබට ඔබගේම ඇතුළුව බාගැනීම් බොත්තම භාවිතා කළ හැක
    • පරිපාලකගේ බාගැනීම් සහ කවුන්ටරය බැහැර කිරීමේ ලැයිස්තුවේ ඇතුළත් කර ඇති සියලුම අනවශ්‍ය IPs සලකා බලනු නොලැබේ.
    • මම එකම IP එකෙන් නිශ්චිත කාලයක් තුළ නැවත නැවත බාගැනීම් ගණන් කළ යුතුද?
    • ඔබට ආකෘති කිහිපයක් සැකසිය හැකිය - පින්තූරයක් සමඟ, කවුන්ටරයක් ​​සමඟ, කවුන්ටරයක් ​​නොමැතිව යනාදිය, සහ ඒ සෑම එකක්ම සුදුසු තත්වයක භාවිතා කරන්න.
    • බාගැනීම් ලොගය csv ගොනුවක් ලෙස උඩුගත කිරීමක් ඇත

    කිසියම් mp3 හෝ වීඩියෝ ගොනුවක් උඩුගත කරන්නේ නම්, එය බලහත්කාරයෙන් බාගත කිරීමද නැද්ද යන්න ඔබ ඔවුන් සඳහා සඳහන් කළ යුතුය. බලය නම් - එය මත ක්ලික් කිරීමෙන්, එය බාගත වනු ඇත, ඔබ කොටුව සලකුණු නොකරන්නේ නම් - සෙල්ලම් කරන්න, ඉන්පසු සුරකින්න - දකුණු-ක්ලික් කරන්න. එහි ආධාරයෙන් උඩුගත කරන ලද ලිපිගොනු ඔබේ ගොනු සඳහා විශේෂ නාමාවලියක් නිර්මාණය කළ ස්ථානයේ තබා නැති නමුත් එය විසින් නිර්මාණය කරන ලද wp-content/uploads/downloads/ තුළ - ඔබ මෙය මතක තබා ගත යුතු බව සටහන් කිරීමට කැමැත්තෙමි. සංඛ්‍යාලේඛන වලින් ඒවා මකා දැමීමේදී - ගොනු ද සේවාදායකයෙන් භෞතිකව මකා දමනු ලැබේ. FTP හරහා උඩුගත කරන ලද ඒවා සමඟ, සියල්ල හරි. ඊට අමතරව, ඔබ එකම ගොනුවකට විවිධ ලිපිවල සබැඳියක් ඇතුළු කළහොත්, එය ඒවා සාරාංශ කරයිද යන්න මට තේරුණේ නැත. අවාසනාවකට, ලියාපදිංචි පරිශීලකයන් හැර අන් සියල්ලන්ට බාගත කිරීම තහනම් කළ හැකි බව හැර, එය කිසිදු බාගැනීම් සීමා කිරීම් සඳහා සහය නොදක්වයි. ඔබට බ්‍රවුසරයේ පහළ පේළියේ ගොනුවක නම ප්‍රදර්ශනය කිරීමට අවශ්‍ය වූ විට හෝ එය එහි හැඳුනුම්පතට වෙනස් කිරීමට අවශ්‍ය වූ විට, ඔබ මතක තබා ගත යුත්තේ settings->permalinks වෙත ගොස් එහි වින්‍යාසය සුරැකීමට එවිට සියල්ල නිවැරදිව ලියා ඇත. htaccess - මෙය නොමැතිව, ගොනු බාගත නොවේ!

    සංඛ්‍යාලේඛන එකවර ස්ථාන තුනකින් ප්‍රදර්ශනය කෙරේ - කොන්සෝලයේ, ගොනු පිළිබඳ තොරතුරු සහ බාගැනීම් ලොග් වල. මෙය යම් යම් අපහසුතාවයන් ඇති කරයි, උදාහරණයක් ලෙස, ගොනුවක් අවසන් වරට බාගත කළේ කවදාදැයි බැලීමට ඔබට අවශ්‍ය වූ විට, නමුත් ඔබට සංඛ්‍යාලේඛන csv ගොනුවක් ලෙස බාගත කර පසුව එය Excel හි නිරාකරණය කර ගත හැක. අවශ්‍ය වගු සහ ප්‍රස්ථාර තැනීම සඳහා Excel සතුව diabolical හැකියාවන් ඇති බව සලකන විට, සමහර විට මෙය නරක නැත. කෙසේ වෙතත්, මම හිතන්නේ තිරපිටපත් තවත් දේ කියයි:

    හොඳයි, ලොගයේම තිර රුවක්:

    ඒ අතරම, විශාල ප්ලස් එකක් නම් මෙවැනි සංඛ්‍යාලේඛන සහිත විජට් එකක් කොන්සෝලයේ දිස් වීමයි:

    පොදුවේ ගත් කල, කුඩා වින්‍යාසයකින් පසුව, ප්ලගිනය එහි කාර්යය හොඳින් කරන බව අපට පැවසිය හැකිය.

    මෙම ප්ලගිනය WP-Polls ප්ලගිනය ලෙස එකම කතුවරයා විසින් ලියා ඇත, උදාහරණයක් ලෙස මම මෙම වෙබ් අඩවියේ භාවිතා කරමි. එය භුක්ති විඳින නමුත්, සාපේක්ෂව, විශාලත්වයේ අනුපිළිවෙල අඩු ජනප්රියත්වයකි. නමුත් එය සුදුසු දැයි බලමු. සියලුම ලියකියවිලි කර්තෘගේ වෙබ් අඩවියෙන් සොයාගත හැකිය. එහි හරය තුළ, ප්ලගිනය පෙර එකට සම්පූර්ණයෙන්ම සමාන වේ - අච්චුව හරියටම එකම ආකාරයකින් ලියා ඇත, ලියාපදිංචි හෝ ලියාපදිංචි නොකළ පරිශීලකයින් හැර බාගත කිරීම සඳහා සීමාවන් නොමැත, සහ ඔබ වැනි කෙටි කේතයක් ද භාවිතා කළ යුතුය.

    ABAP

    [downloadid="7592"]

    හොඳයි, අනෙක් කරුණු මත:

    • ඔබට එය භාවිතයෙන් ගොනු උඩුගත කළ හැකිය (MB දෙකක් දක්වා, හෝ ඔබ php.ini හි දක්වා ඇති ඕනෑම දෙයක්), සහ ඒවා පිහිටා ඇති ස්ථානය සඳහන් කරන්න, ඒවා කලින් FTP හරහා උඩුගත කළේ නම්, ඔබට URL එක සඳහන් කළ හැකිය.
    • ගොනුවේ සත්‍ය ස්ථානය සඟවයි, නමුත් අවශ්‍ය ඕනෑම URL සංයෝජනයක් ආදේශ කළ නොහැක, එහි ඇත්තේ ස්ථාවර විකල්ප කිහිපයක් පමණි, ඉන් ප්‍රධාන එක මට වැඩ කළේ නැත
    • ගොනුවේ ප්‍රමාණය, එය කොපමණ වාරයක් බාගත කර ඇත්ද, එය බාගත කළ විට යන තොරතුරු අමුත්තන්ට පෙන්වීමට වින්‍යාසගත කළ හැක
    • ඔබට අදාල ගොනු වර්ග සඳහා අයිකනයක් පෙන්විය හැක
    • ඔබට කවුන්ටරය නැවත සැකසිය හැකිය, නැතහොත් අවශ්ය අගය සැකසිය හැක

    කෙසේ වෙතත්, යම් වෙනස්කම් තිබේ. පළමුව, බොත්තමක් නොමැත දෘශ්ය සංස්කාරකය, ඔබට කෙටි කේතයක් ඇතුළත් කළ හැකිය. එසේත් නැතිනම්, බොත්තමක් ඇත, නමුත් එය භාවිතා කිරීම සඳහා, ඔබ මුලින්ම ප්ලගින සැකසුම් තුළ ගොනුව සඳහා කවුන්ටරයක් ​​එකතු කළ යුතුය, පසුව මෙම බොත්තම සමඟ කවුන්ටරයේ හැඳුනුම්පත කෙලින්ම තනතුරට එකතු වේ. දෙවනුව, ඇත්තේ එක් සැකිල්ලක් පමණක් වන අතර, විවිධ ගොනු සඳහා විවිධ තොරතුරු ප්රදර්ශනය කිරීමට නොහැකි වනු ඇත. සංඛ්‍යාලේඛනවල ඇති වාසි අතර - ගොනුව අවසන් වරට බාගත කළ විට එය පෙන්වයි, එසේ නොමැතිනම් අවාසි පමණක් ඇත - csv ගොනුවකට උඩුගත කිරීමක් නැත, බාගත කළ අය බැලීමක් නැත (IP නැත), දිනය අනුව බෙදා හැරීමක් නොමැත.

    නමුත් අයිකන වඩා ලස්සනයි (මම පසුව ඒවා පෙර ප්ලගිනයට එකතු කළෙමි). ඔහුගේ කාර්යයේ ප්රතිඵලය මේ වගේ ය:

    එසේම, දත්ත ගබඩාවෙන් වාර්තාවක් මකා දැමීමේදී, ගොනුව මකා දැමිය යුතුද නැතහොත් ඉතිරි කළ යුතුද යන්න විමසයි. නමුත් එහි ගුණාංගවල සම්පූර්ණත්වය අනුව, මම එයට පෙර එකට වඩා අඩුවෙන් කැමති විය - අවම වශයෙන් ගොනුව පෝස්ටයෙන් පිටත වෙන වෙනම ඇතුළත් කළ යුතු නිසා, කෙසේ වෙතත්, එයට විශේෂ අවාසි නොමැත - ඒවා අතර තේරීම කාරණයකි රසය, පළමු එකට වැඩි විකල්ප ඇත, වඩාත් සවිස්තරාත්මක සංඛ්යා ලේඛන, දෙවන - තරමක් පහසු (දුප්පත් වුවද) සංඛ්යා ලේඛන, සහ අඩු අවස්ථා.

    බර කාලතුවක්කු ක්‍රියාත්මක විය. ප්ලගිනය බොහෝ දුරට Russified වන අතර, එය බාගත කළමණාකරුවෙකු මිස කවුන්ටරයක් ​​නොවේ. බාගත කිරීමේ වේගය සහ දිනකට එක් පුද්ගලයෙකුට බාගත කිරීම් ගණන සීමා කළ හැකිය.

    නමුත් මෙම ප්ලගිනයේ සමහර විශේෂාංග අනවශ්‍ය බවත්, සංඛ්‍යාලේඛන අනුව අවශ්‍ය ඒවා ප්‍රමාණවත් නොවන බවත් මම කියමි. සැකසීම්, බාගත කිරීමේ විජට්, සංකීර්ණ සමමුහුර්ත පද්ධතියක්, mp3 ටැග් ප්‍රදර්ශනය කිරීමේ පද්ධතියක්, flv ගොනු ප්‍රදර්ශනය කිරීම, කුඩා ගොනු ගබඩාවක් සංවිධානය කිරීම, පෝස්ට් ආරම්භයේ හෝ අවසානයේ පිටුවේ ලැයිස්තුගත කර ඇති සියලුම ගොනු ප්‍රදර්ශනය කිරීම, ආදිය.

    මට සියලු සැකසුම් වල තිරපිටපත් පෙන්වීමටවත් අවශ්‍ය නැත.

    කොහොම වුනත් මේ ඔක්කොම එක්ක පෝස්ට් එකේ ටෙම්ප්ලේට් එක ලස්සනට ඩිස්ප්ලේ කරන්න මට ඒකෙ තියන ස්ටයිල් ෆයිල් එක එඩිට් කරන්න උනා පළල අඩුකරල. තවද, පෙරනිමි අච්චුව සංදර්ශන කිරීම සඳහා, ඔබ කෙටි කේතය ඇතුළු කිරීමෙන් පසු බොත්තම භාවිතා කළ යුතුය.

    අච්චුවේ නම කේතයට අතින් ඇතුල් කරන්න. රුසියානු නම සමඟ යම් ආකාරයක ගැටුමක්. මාර්ගය වන විට, එය මේ ආකාරයෙන් පෙනේ (මම සැකිලි සඳහා විකල්ප තුනක් දෙන්නෙමි):

    එය ගණන් ගනී - කඩුල්ල තට්ටුවක් හරහා (හොඳයි, නැතහොත් එය IP එකකින් බාගැනීම් එකකට වඩා ගණන් නොගනී, මම නොදනිමි). සංඛ්‍යාලේඛන ඉහත සාකච්ඡා කළ ප්ලගිනයට සම්පූර්ණයෙන්ම සමානව වඩා ටිකක් අඩුය.

    පොදුවේ ගත් කල, ඔහු නිරෝගී, නමුත් මෝඩයෙකු යන හැඟීම මට ඉතිරි විය. යම් ආකාරයක ගොනු ගබඩාවක් සඳහා සුදුසු වේ, පසුව පවා වෙනත් ප්ලගිනයක් සමඟ ඒකාබද්ධ කළහොත් පමණි. මම ඒක බලලා බිමට ගත්තා.

    අවංකවම, මම එහි විස්තරය කියවන විට, මම සිතුවෙමි - මෙයයි, මට අවශ්ය දේ!

    කවුන්ටරය, මුරපද ආරක්ෂාව, බොත්තම් ඇතුළත් කළ හැකි කෙටි කේතය, සංස්කරණය කළ හැකි බොත්තම, ආදිය.

    එය පෙනෙන්නේ මෙයයි (ඔහු එකවර භාවිතා කරන ලද සැකිලි දෙකක් උපුටා දක්වයි):

    කෙසේ වෙතත්, ගොනුවක් එකතු කිරීම සඳහා, පළමුව ඔබ ප්ලගීන තුළ ඒ සඳහා කවුන්ටරයක් ​​එක් කළ යුතුය. දෙවනුව, ප්රායෝගිකව කිසිදු සංඛ්යා ලේඛන නොමැත.

    තෙවනුව, පරිශීලකයා සඳහා ගොනු ප්‍රමාණය පෙන්වීමට ප්‍රතිදානය සැකසිය නොහැක. හතරවනුව, බාගත කිරීමේ වේගයේ සීමාවක් නොමැත, ගොනුව සඳහා මුරපද ආරක්ෂාව පමණක් ඇත. සැකිලි සංස්කරණය කළ නොහැක. සහ රුපියල් 45 කට වාරික අනුවාදය මිලදී ගැනීමට විශාල ශිලා ලේඛනයක් ඉදිරිපත් කරයි. හොඳයි, පොදුවේ, ඔබට තේරෙනවා. රසවත් සෑම දෙයක්ම මුදල් සඳහා ය. ඒක අක්‍රිය කරලා කඩා දැම්මා. සහ ලස්සන රාමු, බොත්තම්, ආදිය. - මට අවශ්‍ය වූ විට මම එය මා විසින්ම විලාසයෙන් ලියා තබමි.

    සාරාංශය

    සම්මත ආකාරයෙන් ස්ථාපනය කරන්න (ඩිරෙක්ටරියට පිටපත් කිරීමෙන් wp-content/plugins/download-monitor/, එය යාවත්කාලීන කිරීමට ඉඩ දෙන්න, නාමාවලියෙහි ඇති සංරක්ෂිතයේ ඇති අයිකන සමඟ සියලුම අයිකන ප්‍රතිස්ථාපනය කරන්න wp-content/plugins/download-monitor/img/filetype_icons/සහ සක්රිය කරන්න.

    අනාගතයේදී, මම එය වෙත පැමිණියහොත්, css3 භාවිතයෙන් සබැඳි ලස්සන රාමු වලට දැමීමට මම සිතමි, එය බොහෝ විට මම ලියන්නෙමි. සුසරව සිටින්න :)

    යාවත්කාලීන දැන් කතුවරයා WordPress Download Monitor ප්ලගිනය නැවත සකස් කර මුල් පිටපතට වඩා සම්පූර්ණයෙන්ම වෙනස් අනුවාදයක් නිර්මාණය කර ඇත. මම එය පරීක්‍ෂා කළ නමුත් බාගත කිරීමේ සබැඳිය කෙබඳු වනු ඇත්ද යන්නෙහි ආකෘතියේ අච්චුව තවදුරටත් එතරම් පහසුවෙන් සංස්කරණය කළ නොහැකි නිසා මම එයට බොහෝ අඩුවෙන් කැමති විය. කතුවරයා තීරණය කළේ සූදානම් කළ පෙර-ස්ථාපිත දර්ශන ප්රමාණවත් වනු ඇති බවයි. උදාහරණයක් ලෙස, බාගැනීම් මෙනුවේ නම්, පසුව සැකසුම්, පෙරසිටුවීම් හයකින් අපේක්ෂිත දර්ශනය තෝරන්න, සුරකින්න ක්ලික් කරන්න

    ඉන්පසු ඔබ දෙවන විකල්පය තෝරන විට ඔබට මෙවැනි දෙයක් ලැබේ:

    එම. මත නව අනුවාදයවිස්තරයේ මා ලබා දුන් රේඛාව භාවිතා කිරීමට එය ක්‍රියා නොකරනු ඇත, නමුත් ඔබට මෙම ප්‍රතිදාන අච්චුව විස්තර කරන විශේෂ PHP ගොනුවක් ලිවීමට අවශ්‍ය වනු ඇත. නමුත් කණගාටුදායකම දෙය මෙය නොවේ - නමුත් මෙම php ගොනුව ප්ලගිනය සමඟ ඩිරෙක්ටරියේ තැබුවහොත්, ප්ලගිනය යාවත්කාලීන කරන සෑම අවස්ථාවකම නැවත ලියනු ලැබේ. ඔබ එය තේමාවක් සහිත නාමාවලියක තැබුවහොත්, ඔබ තේමාව වෙනස් කරන විට (මෙය ඇත්ත වශයෙන්ම සිදුවන්නේ බොහෝ අඩුවෙන් වුවද). නමුත් ඕනෑම අවස්ථාවක, එය ලිවීම තරමක් ශ්‍රමය-දැඩි කාර්යයක් වන අතර මේ දක්වා මට එය කිරීමට අවශ්‍ය නැත. එබැවින් යාවත්කාලීන කරන ලද ප්ලගිනයේ ඇති එකම ප්ලස් වේ

    මගේ එක් ස්ක්‍රිප්ට් එකක් වෙබ් අඩවියෙන් කී වතාවක් බාගත කර ඇත්දැයි බැලීමට මම තීරණය කළෙමි. මෙය සිදු කිරීම සඳහා, මම වෙබ් අඩවිය සඳහා ගොනු බාගත කිරීමේ කවුන්ටරයක් ​​ලිවීමට තීරණය කළෙමි. අන්තර්ජාලයේ මෙම ගැටළුව ක්‍රියාත්මක කිරීම් බොහොමයක් ඇත, කෙසේ වෙතත්, මගේ විසඳුම පරීක්ෂා කරන්න.

    බාගැනීම් කවුන්ටරය පිටුපස ඇති තර්කය තරමක් සරල ය. එය ක්රියාත්මක කිරීම සඳහා අපි මගේ ප්රියතම ajax භාවිතා කරන්නෙමු. ක්ලික් සිදුවීම සිදු වූ විට අපි බොත්තමට ajax හරහා ඇමතුමක් අමුණන්නෙමු php ගොනුවකවුන්ටරය. php වලදී, ajax ඉල්ලීම සකස් කර ඇති අතර, මුළු තරඟ ගණන පෙළ ගොනුවකට ලියා ඇත. සාර්ථක පටිගත කිරීමකින් පසුව, සම්පූර්ණ බාගැනීම් කවුන්ටරයක් ​​සමඟ ප්‍රතිචාරයක් ලබා දෙන අතර පරිශීලකයා ගොනුව බාගත කිරීම සඳහා සබැඳිය වෙත හරවා යවනු ලැබේ (ගොනුව බාගත කර ඇත). මෙය ඉතා සරල තර්කයකි, දැන් අපි එය ක්රියාත්මක කිරීමට පටන් ගනිමු. අපි කලින් බාගත කළ හැකි test.zip ගොනුවක් නිර්මාණය කරමු. බොත්තම කේත කර රේස් කවුන්ටරය පෙන්වමු.

    බාගත් තරඟ ගණන:

    අපි id="btnSend" සහිත බොත්තමක් සාදා, අපි කවුන්ටරය id="countView" සමඟ කාල පරාසයකින් සංදර්ශණය කරන්නෙමු, සහ අපි බාගත කළ ගොනුවට සබැඳියක් දත්ත-බාගැනීම් ගුණාංගය තුළ ගබඩා කරන්නෙමු.

    දැන් අපි බොත්තමට ක්ලික් හැන්ඩ්ලර් එකක් අමුණමු. මෙහිදී අපි දැනටමත් js සහ jquery භාවිතා කරමු. jquery භාවිතයෙන් clik ක්‍රියාත්මක කරන ආකාරය ගැන ඔබට කියවිය හැක. නමුත් ක්ලික් හසුරුව ස්ථාපනය කිරීමට පෙර, අපි කවුන්ටරයේ සියලුම වැඩ අඩංගු වන count.php ගොනුවට ajax වෙත පිවිසෙන්නෙමු. ඔබට ajax දත්ත හුවමාරුව ගැන වැඩිදුර කියවිය හැක. කවුන්ටරය දැනටමත් සිදු කර ඇති බාගැනීම් ගණන ලියා ඇති ගොනුවෙන් ප්‍රතිදානය කිරීමට සහ ඒවා id="countView" සමඟ පරතරයකින් ප්‍රදර්ශනය කිරීමට මෙය අවශ්‍ය වේ.

    /*දැනට පවතින බාගැනීම් සංඛ්‍යාව ලබා ගන්න*/ $(ලේඛනය).ready(function())( //ajax ඉල්ලීම හැඹිලි කිරීම තහනම් කරන්න //එසේ නොමැතිනම් කවුන්ටරය අසාර්ථක වනු ඇත $.ajaxSetup((cache: false));var html ; $.ajax (( //අපි දත්ත වර්ගය මාරු කරන්නේ කෙසේද: "GET", //අපි url මාරු කරන්නේ කොහේද: "count.php", //අපි දත්ත මාරු කරන්නේ කුමන දත්තද: (කොඩිය: 2), // count.php වෙතින් ප්‍රතිචාරයක් ලැබීමෙන් පසු සිදුවීම සාර්ථකත්වය : ශ්‍රිතය(දත්ත)( html=data; //දැනට පවතින බාගැනීම් ගණන පෙන්වන්න $("#countView").html(html); ) )); /*සිදුවීමක් අමුණන්න බාගත ගොනු බොත්තම වෙත*/ var clickevent=false; //පරීක්ෂණ ධජය ක්ලික් කරන්න //හැන්ඩ්ලර් ක්ලික් කරන්න $("#btnSend").click(function())( if(!clickevent)( $.ajax(( //how) අපි දත්ත වර්ගය මාරු කරන්නෙමු: "GET", //අපි එය මාරු කරන්නේ url: "count.php", //අපි දත්ත ලබා දෙන්නේ කුමන දත්තද: (ධජය: 1), //ajax යැවීමට පෙර සිදුවීමට පෙර යවන්න: ශ්‍රිතය( ))( //බොත්තම ක්ලික් කර ඇත්නම් සත්‍ය clickevent=true; ), //ප්‍රතිචාරය ලැබීමෙන් පසු සිදුවීම, //දත්ත සාර්ථක ලෙස දත්ත ලබා ගන්න: ශ්‍රිතය(දත්ත)( //ක්‍රියා සම්පූර්ණ කිරීමෙන් පසු, අපි එයට ඉඩ දෙන්නෙමු. නැවතත් //බොත්තම මත ක්ලික් කිරීම සැකසීමට clickevent=false; html=දත්ත; //නව කවුන්ටරයක් ​​පෙන්වන්න $("#countView").html(html); //Data-download වෙතින් සබැඳිය ලබාගන්න //බාගැනීම් සබැඳිය වෙත යළි-යොමු කරන්න, ගොනුව බාගන්න window.location.href = $("#btnSend").data("download"); ))); ) ආපසු අසත්‍ය;// ක්ලික් කිරීමේ සිදුවීම සැකසීම තහනම් කරන්න )); ));

    submit බොත්තම වැරදීමකින් නැවත එබීම වැලැක්වීමට, මම script එකට clickevent ධජය හඳුන්වා දුන්නෙමි. Count.php වෙතින් ප්‍රතිචාරය යාවත්කාලීන කරන ලද කවුන්ටර දත්ත සමඟ නැවත පැමිණෙන තෙක්, බොත්තම මත ක්ලික් කිරීම තහනම් වේ. බොත්තම මත ක්ලික් කිරීමෙන් පසු කේතයේ ක්‍රියාකාරිත්වය අඩු වැඩි වශයෙන් පැහැදිලි යැයි මම සිතමි. බාගැනීම් බොත්තම ක්ලික් කිරීමෙන් පසුව, දත්ත count.php ගොනුව වෙත මාරු කරනු ලැබේ, එය සකසන ලද සහ යාවත්කාලීන කරන ලද කවුන්ටර දත්ත ආපසු ලබා දෙනු ලැබේ, බාගත කිරීමේ සබැඳිය වෙත යළි-යොමුවීමක් සිදු වන අතර, ඒ අනුව, ගොනුව බාගත කරනු ලැබේ.

    අපි දැන් බලමු අපේ script එකේ හදවත, ඒ කියන්නේ count.php ගොනුව.

    ශ්‍රිතය clearInt ($date)( //දිනය සෘණ නොවන සංඛ්‍යාවකට ආපසු එන abs((int)$date); ) if($_SERVER["HTTP_X_REQUESTED_WITH"] == "XMLHttpRequest") ( //කොල කොඩියදැයි පරීක්ෂා කරන්න ලැබුනේ නම් (clearInt($_GET["flag"]==1)) ( //$f=fopen("mycount.txt","a+") කියවීම සඳහා ගොනුව විවෘත කරන්න); //අනෙකුත් ගොනුව වෙත ප්‍රවේශය වසා දමයි වැඩසටහන් flock($ f,LOCK_EX); //$count=fread($f,100) ගොනුවෙන් කවුන්ටර අගය ලබාගන්න; //කවුන්ටරය එකතු කරන්න @$count++; //ගොනුව උඩින් ලියන්න ftruncate($f,0) . =2)) ($c=fopen("mycount.txt","a+"); flock($c,LOCK_EX); $festc=fread($c,100); fclose($c); //ආපසු අගය echo $festc;))

    මෙන්න මම හිතන්නේ එකම දේ, හැම දෙයක්ම සරලයි. ධජය 1 පැමිණේ නම්, අපි කවුන්ටරය නැවත ලියමු. ධජය 2 පැමිණේ නම්, බාගත කිරීම් ගණන පිළිබඳ දත්ත සරලව ආපසු ලබා දෙනු ඇත. අනෙක් සියල්ල, මම හිතන්නේ, කේතයේ අදහස් වලින් පැහැදිලි වේ.

    ජූම්ලා බාගැනීම් කවුන්ටරය

    මම මගේ ජූම්ලා ව්‍යාපෘතියකට සමාන කවුන්ටරයක් ​​අමුණන්න තීරණය කළා. න්‍යායාත්මකව, ඇත්ත වශයෙන්ම, ඔබ වෙනම මොඩියුලයක් ලිවිය යුතුය, නැතහොත් කොම් අන්තර්ගත සංරචකයේ පාලකයට කේතය ඒකාබද්ධ කළ යුතුය, එවිට කවුන්ටර දත්ත ගොනුවකට නොව දත්ත සමුදායට සහ එක් එක් ලිපිය සඳහා වෙන වෙනම ලියා ඇත. නමුත් එවැනි සංවර්ධනයක් සඳහා කාලයක් නොමැති අතර මම ගැටලුව වඩාත් සරලව විසඳා ගත්තෙමි. මට එක පිටුවක් සඳහා කවුන්ටරය අවශ්‍ය විය. මම count.php ගොනුව ගෙන එය දැනට සම්බන්ධ කර ඇති (අඩවි සැකිලි/your_template මූලයේ) ජූම්ලා අච්චුව වෙත මාරු කළෙමි. අර්ථ දක්වා ඇති කේතය ("_JEXEC") ඇතුළු කිරීමට අමතක නොකරන්න, නැතහොත් count.php හි ඉහළම ස්ථානයේ මිය යන්න. (මෙය ජූම්ලා සඳහා වේ). අපි නිර්මාණය කරන පිටුවට බාගැනීම් බොත්තම ඇතුළු කරන අතර, js කේතය ද පිටුවට ඇතුළත් කළ හැකිය, නැතහොත් වෙනම ගොනුවක් ලෙස සම්බන්ධ කළ හැකිය. උදාහරණයක් ලෙස, මා සතුව එය වෙනම ගොනුවක් ලෙස ඇත (එය සැකිල්ලේ js ෆෝල්ඩරයේ පිහිටා ඇත). අච්චුව තුළම, ශීර්ෂකය තුළ, සම්බන්ධතාවය කේතය හරහා සිදු වේ

    
    ඉහල