×

كود php جلب الايبي وعدد الزوار

السلام عليكم ورحمه الله وبركاته اخواني لدي طلب بسيط وهو طلب كود كتابة ip و عدد الزوار في ملف txt بحيث يكون العداد مقسم يوميي
Like Tree2معجبون
  • 2 أضيفت بواسطة PHP Milk

صورة 'فهد الصنهاج' الرمزية
قديمة 27 - 03 - 2015, 05:20
المشاركة 1
السلام عليكم ورحمه الله وبركاته

اخواني لدي طلب بسيط

وهو طلب كود
كتابة ip و عدد الزوار
في ملف txt
بحيث يكون العداد مقسم يوميي اسبوعي شهري

وشكراا
احفظ الله يحفظك
أفضل إجابه - أضيفت بواسطة PHP Milk
هذا حل غير مناسب و الافضل الاعتماد علي قواعد البيانات

اخي ما تطلبه قد يكون امره هين بقدر انه فى هذا الزمن غير مناسب تماماً!
فمثلاً لو قمنا بتسجيل الــ IP لكل زائر بالاضافة الي عداد زوار و كل هذا بشكل يومي فى ملف نصي و ليكن هذا مخططه فى ابسط صورة

رمز Code:
CN#8
T25-03-2015|IP1|IP2|IP3|IP4 --------->
T26-03-2015|IP1|IP2|IP3|IP4 --------->
T27-03-2015|IP1|IP2|IP3|IP4 --------->
حيث #CN ترمز لعداد الزوار حتي نستطيع التقاطها عندما نقراء الملف النصي و T ترمز للتاريخ و IP لارقام الايبيهات للزائرين فى ذلك اليوم T

ثم تكرر هذة السطور مع بداية كل يوم بغض النظر عن عمليات جلب البيانات و استعراضها يومي شهري او حتي سنوي

يظل ان هذا كل امر اعتباطي تماماً لان الملف سوف يتم فتحة بالاضافة الي قرائته لكل زائر يزور الموقع حتي نقارن التاريخ مع تاريخ اليوم ثم نكتب رقم الــ IP و نزود 1 علي عداد الزوار فما بالك لو لدينا 10 الف زائر !!!!

لكن لو مصر .. هيك حل وسط لنجعل ملف عداد الزوار ملف واحد منفصل counter.txt و لنجعل ارقام الــ IP للزائرين يومياً فى ملف كل ملف بتاريخ اليوم مثلاً 27-03-2015.txt و هكذا

اولاً هذا الجزء الخاص بأنشاء ملف نصي كل يوم و اسم هذا الملف سوف يكون هو تاريخ اليوم مثلاً 03-27-2015.txt

رمز Code:
<?PHP
// انشاء الملف و اسمه حسب التاريخ
$IPFile = date('m-d-Y').'.txt';
// رقم الايبي
$IP = $_SERVER['REMOTE_ADDR'];
// قراءة الملف
$File = file_get_contents($IPFile);
// التأكد ان رقم الايبي غير مكرر
if (!preg_match("/$IP/", $File)){
// ليس مكرراً اذاً استمر
// الصفحة
$Webpage = $_SERVER['SCRIPT_NAME'];
// التاريخ
$Time = date('d/m/Y h:i:s');
// المتصفح
$Browser = $_SERVER['HTTP_USER_AGENT'];
// افتح الملف
$fp = fopen($IPFile, 'a+');
// اكتب فى الملف  البيانات
fwrite($fp, ''.$Time.'|'.$IP.'|'.$Webpage.'|'.$Browser."\r\n");
// اغلق الملف
fclose($fp);
}
و لسوف يسجل لكل زائر بيانات كالتالي

التاريخ ... الصفحة التي زارها .. رقم الايبي ... المتصفح
رمز Code:
27/03/2015 08:27:39|127.0.0.1|/index.php|Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0
و هكذا كل زائري يوم 27/03/2015 سوف يسجلون في هذا الملف 03-27-2015.txt و بالمثل لكل يوم

و بالتالي فينا نسترجع اي بيانات بفتح هذة الملفات و عرضها فى لوحة التحكم و استخراج منا ما نريد

ثانياً علي نفس الشكيلة يمكن عمل ملف عداد الزوار

حيث يوم بأنشاء ملف سوف يظل دائماً و ليس يومياً هو counter.txt
يسجل فيه زيادة +1 لكل زيارة بالموقع

رمز Code:
<?PHP
//نفحص ان كان الملف الخاص بعداد الزوار موجوداً
if (file_exists('counter.txt')){
// اذا كان موجوداً نبدء العمليات عليه
// نفتح الملف
$CFile = fopen('counter.txt', r);
//نقراء الملف
$CData = fread($CFile, filesize('counter.txt'));
//
$CFile = fopen('counter.txt', w);
//نكتب علي الملف مع زيادة +1 كل مرة
fwrite($CFile, $CData+1);
// اغلق الملف
fclose($fp);
} else {
// ملف عداد الزوار غير موجود
// قم بالانشاء
//نجعل القيمة الاولية هي صفر
$CStart = "0";
$fp = fopen("counter.txt","wb");
fwrite($fp,$CStart);
fclose($fp);
}
?>
و هكذا الحال يمكن لاحقاً استدعاء عدد الزوار الذين تم تسجيله و استعراضها فى لوحة التحكم كيفما تشاء

ثالثاً يمكننا القيام بعمليات مثلما تريد مثل معرفة زوار كل يوم و استعراض الايبيهات عبر استدعاء الملف النصي الحامل لاسم مساوي للتاريخ اللي بدك معرفة البيانات فيه و القراء و العد و كامل العمليات و هكذا


و مع ذلك يمكن اختصار كل هذا فى سطرين فقط و حقلين فى جدول فى قاعدة بيانات الموقع
لا يجب ابداً الاعتماد علي الملفات النصية فى تخزين و استدعاء البيانات بهذة الصورة
المشاهدات 1262 | التعليقات 2
قديمة 27 - 03 - 2015, 10:51
المشاركة 2
صورة 'bo3bdo' الرمزية
bo3bdo
:: مشرف ::
:: ركن لغات البرمجة ::
تاريخ الإنضمام: 08 - 03 - 2007
رقم العضوية : 48990
المشاركات: 2,214
17
افتراضي رد : كود php جلب الايبي وعدد الزوار
قديمة 28 - 03 - 2015, 00:06
المشاركة 3
صورة 'PHP Milk' الرمزية
PHP Milk
:: عضو نشيط ::
تاريخ الإنضمام: 05 - 01 - 2012
رقم العضوية : 105875
الدولة : مصر
المشاركات: 567
25
افتراضي رد : كود php جلب الايبي وعدد الزوار
هذا حل غير مناسب و الافضل الاعتماد علي قواعد البيانات

اخي ما تطلبه قد يكون امره هين بقدر انه فى هذا الزمن غير مناسب تماماً!
فمثلاً لو قمنا بتسجيل الــ IP لكل زائر بالاضافة الي عداد زوار و كل هذا بشكل يومي فى ملف نصي و ليكن هذا مخططه فى ابسط صورة

رمز Code:
CN#8
T25-03-2015|IP1|IP2|IP3|IP4 --------->
T26-03-2015|IP1|IP2|IP3|IP4 --------->
T27-03-2015|IP1|IP2|IP3|IP4 --------->
حيث #CN ترمز لعداد الزوار حتي نستطيع التقاطها عندما نقراء الملف النصي و T ترمز للتاريخ و IP لارقام الايبيهات للزائرين فى ذلك اليوم T

ثم تكرر هذة السطور مع بداية كل يوم بغض النظر عن عمليات جلب البيانات و استعراضها يومي شهري او حتي سنوي

يظل ان هذا كل امر اعتباطي تماماً لان الملف سوف يتم فتحة بالاضافة الي قرائته لكل زائر يزور الموقع حتي نقارن التاريخ مع تاريخ اليوم ثم نكتب رقم الــ IP و نزود 1 علي عداد الزوار فما بالك لو لدينا 10 الف زائر !!!!

لكن لو مصر .. هيك حل وسط لنجعل ملف عداد الزوار ملف واحد منفصل counter.txt و لنجعل ارقام الــ IP للزائرين يومياً فى ملف كل ملف بتاريخ اليوم مثلاً 27-03-2015.txt و هكذا

اولاً هذا الجزء الخاص بأنشاء ملف نصي كل يوم و اسم هذا الملف سوف يكون هو تاريخ اليوم مثلاً 03-27-2015.txt

رمز Code:
<?PHP
// انشاء الملف و اسمه حسب التاريخ
$IPFile = date('m-d-Y').'.txt';
// رقم الايبي
$IP = $_SERVER['REMOTE_ADDR'];
// قراءة الملف
$File = file_get_contents($IPFile);
// التأكد ان رقم الايبي غير مكرر
if (!preg_match("/$IP/", $File)){
// ليس مكرراً اذاً استمر
// الصفحة
$Webpage = $_SERVER['SCRIPT_NAME'];
// التاريخ
$Time = date('d/m/Y h:i:s');
// المتصفح
$Browser = $_SERVER['HTTP_USER_AGENT'];
// افتح الملف
$fp = fopen($IPFile, 'a+');
// اكتب فى الملف  البيانات
fwrite($fp, ''.$Time.'|'.$IP.'|'.$Webpage.'|'.$Browser."\r\n");
// اغلق الملف
fclose($fp);
}
و لسوف يسجل لكل زائر بيانات كالتالي

التاريخ ... الصفحة التي زارها .. رقم الايبي ... المتصفح
رمز Code:
27/03/2015 08:27:39|127.0.0.1|/index.php|Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0
و هكذا كل زائري يوم 27/03/2015 سوف يسجلون في هذا الملف 03-27-2015.txt و بالمثل لكل يوم

و بالتالي فينا نسترجع اي بيانات بفتح هذة الملفات و عرضها فى لوحة التحكم و استخراج منا ما نريد

ثانياً علي نفس الشكيلة يمكن عمل ملف عداد الزوار

حيث يوم بأنشاء ملف سوف يظل دائماً و ليس يومياً هو counter.txt
يسجل فيه زيادة +1 لكل زيارة بالموقع

رمز Code:
<?PHP
//نفحص ان كان الملف الخاص بعداد الزوار موجوداً
if (file_exists('counter.txt')){
// اذا كان موجوداً نبدء العمليات عليه
// نفتح الملف
$CFile = fopen('counter.txt', r);
//نقراء الملف
$CData = fread($CFile, filesize('counter.txt'));
//
$CFile = fopen('counter.txt', w);
//نكتب علي الملف مع زيادة +1 كل مرة
fwrite($CFile, $CData+1);
// اغلق الملف
fclose($fp);
} else {
// ملف عداد الزوار غير موجود
// قم بالانشاء
//نجعل القيمة الاولية هي صفر
$CStart = "0";
$fp = fopen("counter.txt","wb");
fwrite($fp,$CStart);
fclose($fp);
}
?>
و هكذا الحال يمكن لاحقاً استدعاء عدد الزوار الذين تم تسجيله و استعراضها فى لوحة التحكم كيفما تشاء

ثالثاً يمكننا القيام بعمليات مثلما تريد مثل معرفة زوار كل يوم و استعراض الايبيهات عبر استدعاء الملف النصي الحامل لاسم مساوي للتاريخ اللي بدك معرفة البيانات فيه و القراء و العد و كامل العمليات و هكذا


و مع ذلك يمكن اختصار كل هذا فى سطرين فقط و حقلين فى جدول فى قاعدة بيانات الموقع
لا يجب ابداً الاعتماد علي الملفات النصية فى تخزين و استدعاء البيانات بهذة الصورة
فهد الصنهاج و Ahm3d Moham3d معجبون بهذا .
الهاتف : داخل مصر 01282883797 - خارج مصر 00201282883797
بريد الكتروني : [email protected] - [email protected]
# برمجة و تطوير و حلول برمجية XHTML/CSS3 - PHP/MYSQLi/PDO
# تكويد اى تصميم PSD الى XHTML/CSS مع تأثيرات CSS3/jQuery
 
مغلق
 

نسخ احتياطي لقواعدة البيانات PHP ما هو الكود لنطق كلمة معينة

أدوات الموضوع ابحث في الموضوع
ابحث في الموضوع:

البحث المتقدم
طرق العرض


الساعة معتمدة بتوقيت جرينتش +3 . الساعة الآن : 12:13.
المعهد غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي معهد ترايدنت ولا نتحمل أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

جميع الحقوق محفوظة Traidnt 2019
  • 00966138651070
  • 00966138648289
  • 2051033691
Powered by vBulletin® Version 3.8.11 .Copyright ©2000 - 2019, Jelsoft Enterprises Ltd
SEO by vBSEO ©2011, Crawlability, Inc.