كيف يمكنني استخدام PHP و JavaScript لإجراء صورة قابلة للنقر، وزيادة عداد مخزن كملف مسطح؟

StackOverflow https://stackoverflow.com/questions/1123132

  •  13-09-2019
  •  | 
  •  

سؤال

أنا أحاول العثور على برنامج php / js سيسمح لي أن أتتأخذ صورة، وعند النظر، قم بزيادة الرقم في ملف مسطح وحفظ هذا الملف.

أعرف كيفية تضمين الملف للحصول على إجمالي الأصوات.

أنا ذاهب مجنون في محاولة للعثور على هذا للتوصيل والتشغيل في موقع الويب الخاص بي. معرف الحب أن يكون لديك تسجيل IP، وتلاشى بارد في / خارج تحديث شيء التحديث. ولكن في هذه النقطة سوء تسوية للأساسيات.

معرف ترغب في تجنب استخدام mysql، ولكن إذا كان ذلك ضروريا يمكنني العمل معها.

هل كانت مفيدة؟

المحلول

أفضل رهان الخاص بك هو استخدام دعم AJAX في JQuery للوصول، ولكن لا يتم تحميله للمستخدم، نوع URL الذي يكتب الزيادة إلى الملف. إذا كنت تستخدم أي نوع من منصة شاملة، يجب عليك التفكير في القيام به في قاعدة البيانات الخاصة بك. ومع ذلك، سيكون الأمر بسيطا بما يكفي لاستخدام وظيفة JQuery $ .get () للوصول إلى عنوان URL / STRECREMENT_NOMPER.PHP؟image=Whater .jpg. إذا بدأت في استخدام قاعدة بيانات، فسيطلب منك تغيير هذا البرنامج النصي لإجراء استعلام DB. لحالتك، سيكون لديك برنامج نصي بسيط مثل هذا (الذي لم يكن بأي حال من الأحوال أو لديه أي اعتبارات أمنية على الإطلاق):

$image = $_GET['image'];
$number = file_get_contents('tracker_for_{$image}.txt');
if ($number != ''){
    $number = (int) $number + 1
}
$file = fopen('tracker_for_{$image}.txt', 'w');
fwrite($file, $number);
fclose($file);

وتذكر فقط أن يكون لديك القليل التالي من JS على الصفحة مع الصورة:

$(document).ready(function(){
     $('img.incrementme').click(function(){
         $.get('/increment.php?'+$(this).attr('src'));
     });
);

لم أختبر هذا الرمز حتى لا يعمل، لكنه بروح ما يجب عليك فعله.

نصائح أخرى

شيء بسيط مثل هذا لن يعمل؟

<?php
// Link to this file: <a href='onclick.php'><img src='yourimg'></a>
$count = file_get_contents("count.file");
$count += 1;
file_put_contents("count.file", $count);

// Possibly log an IP too? open a file
$f = fopen("ipaddresses.file", "a");
fwrite($f, $_SERVER["REMOTE_ADDR"] . "\n");
fclose($f);
?>

إذا كنت تقوم بذلك لنظام التصويت مثل فائض المكدس، فإن إنشاء الكثير من الملفات لتخزين هذه المعلومات واحدة ستصبح غير عملي. هذا مثالي لقاعدة بيانات.

بهذه الطريقة، لن تضم أيضا الملف، ولكن قم بإجراء استعلام للحصول على النتيجة الإجمالية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top