آگهی
article

نمایش آمار بازدیدها با PHP بدون استفاده از دیتابیس

php-online-stats

از جمله امکانات اولیه ای که ممکن است برای خیلی از سایت ها کاربردی باشد، نمایش آمار بازدیدها به مخاطبان است که وبمسترها برای رسیدن به این هدف از روش های مختلفی بهره می برند، به طور مثال برخی ترجیح می دهند از ابزارهای رایگان در سرویس های مختلف استفاده کنند، برخی از سایت های مرجع و عده ای نیز به دنبال راه اندازی سیستم شخصی خود هستند، به هر صورت در این مطلب برای کسانی که می خواهند سیستم نمایش آماری مستقل، بدون صرف منابع سرور، بدون استفاده از دیتابیس و بدون سر و کار داشتن با دانش برنامه نویسی سطح بالا داشته باشند و آمار بازدیدهای سایت خود را به صورت مختصر و مفید برای مخاطبان نمایش دهند، آموزش تقریبا کاملی در نظر گرفته ایم که امیدواریم مفید واقع شود، در این آموزش خواهیم دید که چگونه می توان با چند خط کدنویسی PHP یک سیستم ساده اما هوشمند و کاربردی محاسبه و نمایش آمار بازدیدها را ساخت.

چرا از آمارگیر بدون استفاده از دیتابیس استفاده کنیم؟


سوالی که ممکن است در نگاه اول به ذهن برسد این است که با وجود سیستم های آمارگیر موجود، چه لزومی دارد که از سیستم آمارگیر بدون دیتابیس استفاده کنیم؟
البته پاسخ این سوال روشن است، در حالت کلی لزومی وجود ندارد!، معمولا به فراخور انتظاراتی که ما از یک سیستم نمایش آمار بازدیدها داریم، می توانیم از برنامه ای خاص و پیچیده یا از کدی سبک و شخصی استفاده کنیم، به طور مثال برخی به فراخور نیاز، سلیقه یا نوع فعالیتشان در وب تمایل دارند که صرفا آمار بازدیدها را برای کاربران نمایش دهند و برایشان اهمیتی ندارد که اطلاعات و تجزیه تحلیل های اضافه را نیز در اختیار داشته باشند، از طرفی ابزارهای رایگان و سیستم های وابسته به سایر سایت ها اگرچه ممکن است مزایایی داشته باشند اما باید توجه نمود که اغلب اوقات موجب بروز مشکلاتی مانند از دسترس خارج شدن سرویس، کند شدن سرعت بارگذاری صفحات، وجود لینک های بعضا غیر استاندارد به سایت سرویس دهنده و... می شوند، از طرفی سیستم های شخصی مبتنی بر دیتابیس نیز در عین مزایایی که دارند با محدودیت هایی مواجه هستند، از جمله اینکه الزاما باید دیتابیسی در اختیار داشته باشیم، میزان فضای کافی برای ذخیره اطلاعات موجود باشد، برنامه مدیریت بازدیدها را بنویسیم و لذا به سطح بالایی از دانش برنامه نویسی نیازمندیم و مواردی از این دست، لذا ملاحظه می کنید که هر روشی ممکن است مزایا و در عین حال معایب خاص خود را داشته باشد و این ما و هدفمان است که تعیین می کند از چه شیوه ای استفاده کنیم.

کد PHP برای محاسبه و نمایش آمار بازدیدها، نسخه ساده


برای محاسبه و نمایش آمار بازدیدها می توانیم از کد PHP زیر که در دو نسخه ساده و پیشرفته نوشته شده است استفاده کنیم، نسخه ساده این کد قادر به محاسبه و نمایش آمار بازدیدهای امروز، دیروز، بازدید کل و نمایش افراد آنلاین است، برای قسمت افراد آنلاین از IP کاربران جهت تفکیک آنها استفاده شده و به صورت پیش فرض بعد از هر بار بارگذاری صفحات سایت، آن کاربر تا 5 دقیقه آنلاین محسوب می شود و با رفرش یا بارگذاری صفحات دیگر، این زمان به صورت هوشمندانه به روز شده و از نو محاسبه می گردد، از جمله سایر امکانات این ابزار به ظاهر کوچک، قابلیت حذف خودکار IP کاربرانی است که دیگر آنلاین نیستند، این کار از اضافه شدن بی مورد حجم فایل برنامه جلوگیری می کند.
<?php
//آمار بازدیدهای امروز، دیروز، کل و نمایش افراد آنلاین
?>
<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>وبگو | نمایش آمار بازدیدها بدون دیتابیس</title>
<!-- Webgoo.ir -->
<style>
body {
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 12px;
    direction: rtl;
}
.stats {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 150px;
    height: auto;
    border: 1px solid #CCC;
    padding: 4px;
    line-height: 20px;
}
</style>
</head>
<body>
<?php
//اختلاف زمانی سرور
$time_zone = 12600;

//تاریخ امروز
$today = date("Y-m-d", time() + $time_zone);

//تاریخ دیروز
$yesterday = date("Y-m-d", time() - 86400 + $time_zone);

//آدرس فایل
$file_src = 'visit-stats.txt';
chmod($file_src, 0755);

//خواندن فایل
$read_file = file_get_contents($file_src);

//اگر فایل خالی نبود
if (filesize($file_src) > 0 || $read_file != ''){
    $split_file = explode('|', $read_file);
    
    //print_r($split_file);
    $modify = $split_file[3];
    
    //اگر تاریخ آخرین ویرایش برابر تاریخ امروز نبود
    if($modify != $today){
        $today_visit = 1;
        
        if($modify == $yesterday){
            $yesterday_visit = $split_file[0];
        } else{
            $yesterday_visit = 0;
        }
        
        $total_visit = $split_file[2] + 1;
        $last_modify = $today;
    } //اگر تاریخ آخرین ویرایش برابر امروز بود
    else{
        $today_visit = $split_file[0] + 1;
        $yesterday_visit = $split_file[1];
        $total_visit = $split_file[2] + 1;
        $last_modify = $today;
    }
} //اگر فایل خالی بود
else{
    $today_visit = 1;
    $yesterday_visit = 0;
    $total_visit = 1;
    $last_modify = $today;
}

//نوشتن آمار جدید در فایل
$file_src_handle = fopen($file_src, 'w+');
$visit_data = $today_visit . '|' . $yesterday_visit . '|' . $total_visit . '|' . $last_modify;
fwrite($file_src_handle, $visit_data);
fclose($file_src_handle);

//محاسبه تعداد کاربران آنلاین
$config_array = array(
'user_time' => date("YmdHis", time() + $time_zone),
'user_ip' => $_SERVER['REMOTE_ADDR'],
'file_name' => 'visit-online.txt'
);
chmod($config_array['file_name'], 0755);

//خواندن اطلاعات فایل
$online_file = file_get_contents($config_array['file_name']);

//تجزیه به آرایه
$online_file = explode("\r\n", $online_file);

//حذف مقادیر خالی
foreach($online_file as $key=> $value){
    if(is_null($value) || $value == ''){
        unset($online_file[$key]);
    }
}

//حذف آی پی های قدیمی و آی پی فعلی
foreach($online_file as $key=> $value){
    $user_ip_time = explode("|", $value);
    if($user_ip_time[1] <= date("YmdHis", time() + $time_zone - 300)){
        unset($online_file[$key]);
    }
    
    if($user_ip_time[0] == $config_array['user_ip']){
        unset($online_file[$key]);
    }
}

//محاسبه تعداد افراد آنلاین
$online = 1;
foreach($online_file as $online_users){
    $user_ip_time = explode("|", $online_users);
    if($user_ip_time[1] >= date("YmdHis", time() + $time_zone - 300)){
        $online++;
    }
}

//آمار کاربرانی که آنلاین هستند به اضافه کاربر فعلی
$new_online = $config_array['user_ip'] . "|" . $config_array['user_time'] . "\r\n";
foreach($online_file as $key=> $value){
    $new_online .= $value . "\r\n";
}

//نوشتن آمار جدید در فایل
$file_src_handle = fopen($config_array['file_name'], 'w+');
fwrite($file_src_handle, $new_online);
fclose($file_src_handle);

//////////////// Webgoo.ir ///////////////

//گرفتن خروجی
echo '<div class="stats">
&raquo; بازدید امروز: '
. $today_visit . '<br>
&raquo; بازدید دیروز: '
. $yesterday_visit . '<br>
&raquo; بازدید کل: '
. $total_visit . '<br>
&raquo; افراد آنلاین: '
. $online . '
</div>'
;
?>
</body>
</html>
برای استفاده از این برنامه قبل از هر چیز کدها را در یک فایل PHP با نام دلخواه (به طور مثال stats.php) ذخیره کرده و دو فایل با فرمت txt با نام های visit-stats.txt و visit-online.txt در کنار فایل اصلی برنامه ایجاد می کنیم، از این دو فایل برای ذخیره و نمایش اطلاعات مربوط به بازدیدها و افراد آنلاین استفاده خواهیم کرد، سپس در ابتدای کد، اختلاف زمان محلی و زمان سرور خود را مشخص می کنیم، به طور مثال اگر زمان سرور بر روی GMT تنظیم شده باشد، اختلاف محلی برای ایران در حالت معمول معادل 3:30 ساعت و به عبارتی 12600 ثانیه است (60*60 برابر 3600 ثانیه برای یک ساعت).
توضیح:
- با تابع date و time تاریخ امروز را به صورت میلادی به دست می آوریم، سپس از همین روش استفاده کرده و زمان فعلی را از 86400 ثانیه که معادل 24 ساعت است (3600 * 24) کم می کنیم تا تاریخ دیروز نیز مشخص شود.
- در گام بعدی فایل مورد نظر جهت ذخیره و بازیابی آمار بازدیدها را تعیین کرده و با تابع file_get_contents اطلاعات آن را می خوانیم، همچنین برای اطمینان از قابل ویرایش بودن فایل، با تابع chmod مجوزهای ویرایش (Permission) را بر روی عدد 0755 تنظیم می کنیم.
- اگر حجم فایل بیشتر از 0 بایت بود یا اینکه فایل خالی نبود یعنی قبلا آماری در آن ثبت شده است، در این صورت آمار باید به صورت نمونه زیر ثبت شده باشد:
24|92|124|2012-10-26
در اینجا عدد اول تعداد بازدیدهای امروز، عدد دوم بازدیدهای دیروز، عدد سوم بازدید کل و عبارت آخر تاریخ آخرین ویرایش فایل مزبور است، همان طور که ملاحظه می کنید از یک جدا کننده با علامت (|) استفاده کرده ایم، این جداکننده زمانی که با تابع explode کار می کنیم لازم است و می توان با آن بخش های مختلف را از هم تفکیک و تجزیه کرد و نتیجه را به صورت یک آرایه تبدیل نمود.
- زمانی که اطلاعات به آرایه تبدیل می شوند می توان به مقادیر کلیدهای آن دسترسی داشت، به طور مثال در کد بالا اگر با print_r از متغیر split_file خروجی بگیریم، نتیجه به شکل نمونه زیر خواهد بود.
Array
(
[0] => 345
[1] => 431
[2] => 17345
[3] => 2012-10-26
)
ملاحظه می کنید که شمارش کلیدها از صفر شروع شده و تا 3 ادامه پیدا می کند، به طور مثال کلید 3 تاریخ آخرین ویرایش فایل را در خود دارد (برای کسب اطلاعات بیشتر در این خصوص لطفا به بخش آرایه ها در آموزش های مقدماتی PHP مراجعه کنید).
- در گام بعدی بررسی می کنیم تا ببینیم آیا تاریخ آخرین ویرایش فایل برابر تاریخ امروز است یا خیر، اگر این طور باشد بازدید امروز و بازدید کل باید افزایش یابند، اما اگر تاریخ امروز با تاریخ آخرین ویرایش تفاوت کند محاسبه بازدیدها وارد یک روز جدید شده و آمار فعلی باید به عنوان آمار دیروز در نظر گرفته شود و بازدید امروز نیز از نو شروع شده و نهایتا بازدید کل نیز افزایش یابد (درک صحیح عملکرد اسکریپت با کمی تامل و آشنایی با مبحث آرایه ها آسان می گردد).
- اما اگر حجم فایل بیش از 0 بایت نبود یا اینکه فایل خالی باشد اولین باری است که اطلاعات در آن ذخیره می شود، لذا آمار امروز برابر 1، آمار دیروز برابر 0 و آمار کل برابر با 1 خواهد بود.
- در نهایت نیز با توابع fopen و متد +w و همچنین تابع fwrite و fclose فایل را بازکرده و اطلاعات جدید را در آن می نویسیم، در اینجا اگر در برخی سرورها با وجود استفاده از تابع chmod با خطای سطح دسترسی پائین برای ویرایش فایل مواجه شدیم، باید به کنترل پنل هاست خود رفته و به صورت دستی مجوزهای ویرایش (Permission) را بر روی عدد 755 تنظیم کنیم.
- در قسمت دوم اسکریپت تعداد افراد آنلاین را محاسبه می کنیم، برای این کار ابتدا در آرایه config_array زمان فعلی، IP کاربر و آدرس فایل را مشخص می کنیم (مقادیر آرایه به صورت کلیدهای 0 تا 2 در دسترس هستند).
- در اینجا از دو علامت جدا کننده استفاده می کنیم، علامت (\r\n) که برای ایجاد یک خط جدید و آرایش ردیفی اطلاعات هر کاربر کاربرد دارد و علامت (|) که بین IP و زمان آن تفکیک ایجاد می کند، به فرض:
127.0.0.1|20121026134434
127.0.0.2|20121026134324
127.0.0.3|20121026134233
نکته: علامت (\r\n) قابل روئیت نیست اما باعث ایجاد خط جدید می شود و در فایل وجود دارد.
- ابتدا در یک حلقه foreach کلیدهایی که مقادیر خالی دارند را از آرایه حذف می کنیم (با استفاده از unset)، در واقع این کار برای جلوگیری از محاسبه آخرین خط در تعداد افراد آنلاین است (آخرین خط صرفا علامت (\r\n) را در خود دارد و لذا مقادیر آن خالی است، برای دیدن جزئیات فایل visit-online.txt را با یک ویرایشگر (مانند ++Notepad) که شماره خطوط را نشان دهد باز کنید، خواهید دید که خط آخر مقادیری ندارد).
- در حلقه foreach بعدی IP و زمان کاربرانی که از حالت آنلاین خارج شده اند (یعنی بیش از حداکثر زمان تعیین شده غیرفعال بوده اند) را حذف می کنیم، علاوه بر این اطلاعات قبلی کاربر فعلی را نیز از لیست آرایه حذف می کنیم.
- اکنون تعداد IP های باقی مانده را محاسبه کرده و به همراه کاربر فعلی در متغیر online مقداردهی می کنیم.
- سپس آمار کاربرانی که آنلاین هستند و کاربر فعلی را به طور مجدد در فایل visit-online.txt ذخیره می کنیم، این کار برای جلوگیری از افزایش بیش از حد حجم فایل مفید است (اگر این کار را نکنیم اطلاعات قدیمی بی جهت در فایل ما ذخیره شده و حجم فایل به مرور و به طور مداوم افزایش می یابد).
- در نهایت نیز متغیرهای اصلی برنامه را به خروجی می دهیم، برای این کار از دستور echo استفاده کرده ایم.

کد PHP برای نمایش آمار بازدیدهای هفته و ماه، نسخه پیشرفته


برای کاربرانی که تمایل دارند علاوه بر آمار بازدید امروز، دیروز و کل، بازدیدهای هفته (7 روز گذشته) و ماه (30 روز گذشته) را نیز به مخاطبان خود نمایش دهند، کد بالا را به نحوی توسعه داده ایم که به جای 2 روز، اطلاعات بازدیدهای 30 روز گذشته را در خود نگهداری کند، یادآور می شویم که این کد لزوما مطابق با روزهای هفته یا ماه در تقویم شمسی یا میلادی نیست و صرفا قادر به نگهداری و تجزیه تحلیل بازدیدهای 7 و 30 روز گذشته صرف نظر از تطابق با روزهای هفته و ماه در تقویم است، نوشتن آمارگیر مطابق با روزهای تقویم نیازمند وجود دیتابیس و ثبت دقیق جزئیات بازدیدها است که این برنامه برای این کار ساخته نشده است.
<?php
//آمار بازدیدهای امروز، دیروز، 7 روز گذشته، 30 روز گذشته، کل و نمایش افراد آنلاین
?>
<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>وبگو | نمایش آمار بازدیدها بدون دیتابیس</title>
<!-- Webgoo.ir -->
<style>
body {
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 12px;
    direction: rtl;
}
.stats {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 150px;
    height: auto;
    border: 1px solid #CCC;
    padding: 4px;
    line-height: 20px;
}
</style>
</head>
<body>
<?php
//اختلاف زمانی سرور
$time_zone = 12600;

//تاریخ امروز
$today = date("Y-m-d", time() + $time_zone);

//تاریخ دیروز
$yesterday = date("Y-m-d", time() - 86400 + $time_zone);

//متغیرهای پیش فرض
$week_visit = 0;
$month_visit = 0;
$month_str = null;

//آدرس فایل
$file_src = 'visit-stats.txt';
chmod($file_src, 0755);

//خواندن فایل
$read_file = file_get_contents($file_src);

//اگر فایل خالی نبود
if (filesize($file_src) > 0 || $read_file != ''){
    $split_file = explode('|', $read_file);
    
    //print_r($split_file);
    $modify = $split_file[31];
    
    //اگر تاریخ آخرین ویرایش برابر تاریخ امروز نبود
    if($modify != $today){
        $today_visit = 1;
        
        if($modify == $yesterday){
            $yesterday_visit = $split_file[0];
        } else{
            $yesterday_visit = 0;
        }
        
        $week_visit += $today_visit + $yesterday_visit;
        $month_visit += $today_visit + $yesterday_visit;
        
        for($i = 2; $i < 30; $i++) {
            $month_str .= $split_file[$i - 1];
            
            if($i < 29) {
                $month_str .= '|';
            }
            
            if($i < 8) {
                $week_visit += $split_file[$i - 1];
            }
            
            $month_visit += $split_file[$i - 1];
        }
        
        $total_visit = $split_file[30] + 1;
        $last_modify = $today;
    } //اگر تاریخ آخرین ویرایش برابر امروز بود
    else{
        $today_visit = $split_file[0] + 1;
        $yesterday_visit = $split_file[1];
        $week_visit += $today_visit + $yesterday_visit;
        $month_visit += $today_visit + $yesterday_visit;
        
        for($i = 2; $i < 30; $i++) {
            $month_str .= $split_file[$i];
            
            if($i < 29) {
                $month_str .= '|';
            }
            
            if($i < 8) {
                $week_visit += $split_file[$i];
            }
            
            $month_visit += $split_file[$i];
        }
                            
        $total_visit = $split_file[30] + 1;
        $last_modify = $today;
    }
} //اگر فایل خالی بود
else{
    $today_visit = 1;
    $yesterday_visit = 0;
    $week_visit = 1;
    $month_visit = 1;
    
    for($i = 2; $i < 30; $i++) {
        $month_str .= '0';
        
        if($i < 29) {
            $month_str .= '|';
        }
    }
    
    $total_visit = 1;
    $last_modify = $today;
}

//نوشتن آمار جدید در فایل
$file_src_handle = fopen($file_src, 'w+');
$visit_data = $today_visit . '|' . $yesterday_visit . '|' . $month_str . '|' . $total_visit . '|' . $last_modify;
fwrite($file_src_handle, $visit_data);
fclose($file_src_handle);

//محاسبه تعداد کاربران آنلاین
$config_array = array(
'user_time' => date("YmdHis", time() + $time_zone),
'user_ip' => $_SERVER['REMOTE_ADDR'],
'file_name' => 'visit-online.txt'
);
chmod($config_array['file_name'], 0755);

//خواندن اطلاعات فایل
$online_file = file_get_contents($config_array['file_name']);

//تجزیه به آرایه
$online_file = explode("\r\n", $online_file);

//حذف مقادیر خالی
foreach($online_file as $key=> $value){
    if(is_null($value) || $value == ''){
        unset($online_file[$key]);
    }
}

//حذف آی پی های قدیمی و آی پی فعلی
foreach($online_file as $key=> $value){
    $user_ip_time = explode("|", $value);
    if($user_ip_time[1] <= date("YmdHis", time() + $time_zone - 300)){
        unset($online_file[$key]);
    }
    
    if($user_ip_time[0] == $config_array['user_ip']){
        unset($online_file[$key]);
    }
}

//محاسبه تعداد افراد آنلاین
$online = 1;
foreach($online_file as $online_users){
    $user_ip_time = explode("|", $online_users);
    if($user_ip_time[1] >= date("YmdHis", time() + $time_zone - 300)){
        $online++;
    }
}

//آمار کاربرانی که آنلاین هستند به اضافه کاربر فعلی
$new_online = $config_array['user_ip'] . "|" . $config_array['user_time'] . "\r\n";
foreach($online_file as $key=> $value){
    $new_online .= $value . "\r\n";
}

//نوشتن آمار جدید در فایل
$file_src_handle = fopen($config_array['file_name'], 'w+');
fwrite($file_src_handle, $new_online);
fclose($file_src_handle);

//////////////// Webgoo.ir ///////////////

//گرفتن خروجی
echo '<div class="stats">
&raquo; بازدید امروز: '
. $today_visit . '<br>
&raquo; بازدید دیروز: '
. $yesterday_visit . '<br>
&raquo; بازدید هفته: '
. $week_visit . '<br>
&raquo; بازدید ماه: '
. $month_visit . '<br>
&raquo; بازدید کل: '
. $total_visit . '<br>
&raquo; افراد آنلاین: '
. $online . '
</div>'
;
?>
</body>
</html>
دستور العمل نحوه استفاده از این کد نیز مشابه با حالت ساده آن است که در ابتدای مطلب آموزش داده شد، کافی است کدها را در یک فایل PHP با نام دلخواه (به طور مثال stats.php) ذخیره کرده و در کنار فایل PHP دو فایل با فرمت txt با نام های visit-stats.txt و visit-online.txt ایجاد کنیم.
نکته 1: در صورتی که فایل visit-stats.txt از قبل و برای نسخه ساده برنامه وجود دارد، برای نصب، راه اندازی مجدد و استفاده از نسخه پیشرفته برنامه، محتوای این فایل باید خالی باشد!
نکته 2: یادآور می شویم این برنامه لزوما مطابق با روزهای هفته و ماه در تقویم هجری شمسی یا میلادی نیست و صرفا آمار بازدیدهای 7 و 30 روز گذشته را نگهداری می کند، نوشتن سیستم آمارگیر مطابق با تقویم نیازمند وجود دیتابیس اطلاعاتی و در اختیار داشتن جزئیات دقیق بازدیدها است.
sectionدسته بندی: آموزش کاربردی » PHP
related مطالب بیشتر:
» ارسال ایمیل با PHP و کلاس phpmailer
» ساخت منوی هوشمند با PHP و CSS
» نحوه نمایش متن و تصاویر اتفاقی در PHP و MySQL
» آموزش ساخت نقشه XML سایت (Sitemap) با PHP و MySQL
» محدود کردن لینک دانلود مستقیم فایل ها با PHP و htaccess
commentنظرات (۶۵ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: مهدی سلامت
زمان: ۲۳:۰۶:۱۱ - تاریخ: ۱۳۹۱/۰۸/۲۲
سلام
من با اطلاعات سایت شما یه آمار بازدید ساختم اما با هر بار رفرش صفحه 2 تا بازدید ثبت میشه
من این 3 تا صفحه را (یکی برا پی اپچ پی و 2 تا هم برا دخیره) توی یه پوشه قرار دادم و ولی تو روت هاست هم اون 2 تا فایل ایجاد میشن و با هر بار پاک کردن اون ها امار بازدید ها 0 میشه و یه بار دیگه اون فایل ها ساخته می شن
می شه منو راهنمایی کنید که چطور درسش کنم
با تشکر از شما و سایت خوبتون
پاسخ: 
سلام
مشکل ایجاد فایل در root سایت به دلیل آدرس دهی نادرست در کد است، در دو قسمت باید آدرس فایل های visit-online.txt و visit-stats.txt را تنظیم کنید، یعنی جایی که می خواهید فایل ها ذخیره شوند، در غیر این صورت فایل ها در هر کجا که فایل اصلی اجرا شود (یا include) شود ایجاد می شوند.
به فرض:
//آدرس فایل
$file_src = 'include/visit-stats.txt';
'file_name' => 'folder/files/visit-online.txt'
مشکل محاسبه دو بار به جای یک بار هم به مرورگر ارتباط دارد، در برخی مرورگرها این مشکل وجود دارد که صفحه در پس زمینه دو بار فراخوانی می شود، سعی کنید اگر با فایل htaccess آشنایی دارید، یونیکد پیش فرض سایت را utf-8 قرار دهید، برای این کار این کد را باید به ابتدای فایل htaccess اضافه کنید:
AddDefaultCharset utf-8
نویسنده: حسین
زمان: ۱۸:۲۷:۰۵ - تاریخ: ۱۳۹۱/۰۹/۰۵
سلام اگه بخوایم با کد پی اچ پی یک فایل را بسازیم چه طور میشه نوشت؟ مثلا در یک فایل test.txt ایجاد کنیم
پاسخ: 
سلام
برای این کار کافی است از توابع مربوط به فایل مانند fopen، fwrite و... در php استفاده کنید، به طور مثال:
<?php
$file = 'test.txt';
$text = "test text!\r\n";
$file_write = fopen($file, 'w+');
fwrite($file_write, $text);
fclose($file_write);
?>
نویسنده: سهراب
زمان: ۱۲:۱۸:۳۰ - تاریخ: ۱۳۹۱/۰۹/۱۲
میشه برای ما که مبتدی هستیم بیشتر توضیح بدید؟
اینایی که شما توضیح دادید برای افرادیه که PHP بلدن. ما چیکار کنیم؟
پاسخ: 
برای کار با کدها و برنامه های php ناگزیر باید آشنایی مختصری با این زبان داشته باشید، هدف این آموزش معرفی یک کد کاربردی است و تا جایی که امکان داشت توضیحات داده شده و تنها کافی است فایل را در صفحات خود include نمائید، برای آشنایی بیشتر باید آموزش های مقدماتی را مطالعه کنید.
نویسنده: حسین
زمان: ۲۰:۳۸:۵۹ - تاریخ: ۱۳۹۱/۱۰/۱۸
سلام. سایتتون واقعا آموزش های خوبی داره ممنونم. چطور میشه این اسکریپت رو مثل وبگذر خدماتی کرد؟
پاسخ: 
سلام
پاسخ سوالتان را نمی توان در چند سطر خلاصه کرد چون انجام این کار در واقع یعنی نوشتن یک پروژه و نوشتن یک پروژه نیازمند طراحی، برنامه ریزی و برنامه نویسی است؛ اما به طور ساده و در تئوری می توان یک فرم html در نظر گرفت تا کاربر اطلاعات سایتش را وارد کند، سپس پس از ارسال فرم یک پوشه جدا برای هر کاربر در سرور ایجاد شود و فایل ها در آن مدیریت شوند یا اینکه از دیتابیس استفاده شود، یک کد جاوا اسکریپت برای درج در قالب سایت هم در اختیار کاربر قرار گیرد که در آن پارامترهای اختصاصی او قرار داده شده باشد.
ملاحظه می کنید که تمام موارد بالا خود یک مبحث جداگانه است.
نویسنده: حسین
زمان: ۱۲:۲۹:۵۳ - تاریخ: ۱۳۹۱/۱۰/۱۹
من مشکلم ساخت کد جاوا اسکریپتش که نیست. من نمیدونم چطور باید وقتی کاربر url رو وارد میکنه، چطور url رو به فایل txt بفرستم و آمارش جدا از url های دیگه باشه میشه یکم کمک کنید؟ اگه دیتابیس هم باشه مشکلی نیست
پاسخ: 
بهتر بود ابتدا سوال را با جزئیات مطرح می کردید که راهنمایی ما دقیق تر باشد، به هر صورت برای این کار نیازی نیست در فایل txt آدرس url را ذخیره کنید، راه ساده تر آن ایجاد یک پوشه برای هر کاربر (نام پوشه می تواند آدرس url کاربر باشد) و مدیریت اطلاعات آماری او داخل آن پوشه است، البته کد شما باید پارامترهای مربوط به هر url را به اسکریپت بدهد تا اسکریپت شما بتواند کاربران را از هم شناسایی کند، به طور مثال:
http://www.yoursite.com/stats/get_url.php?url=http://www.user.com
که آدرس url با متد get قابل دریافت در فایل get_url.php است.
به این ترتیب و مطابق url فایل txt از پوشه خاص هر کاربر فراخوانی می شود و عملیات مورد نظر شما (ثبت آمار و نمایش آن) قابل اعمال است، البته مسلم است که باید کمی وقت بگذارید و چند و چون کار را بررسی کرده و کد آن را بنویسید.
نویسنده: حسین
زمان: ۱۹:۰۹:۵۲ - تاریخ: ۱۳۹۱/۱۰/۱۹
سلام. واقعا ازتون فوق العاده ممنونم. واقعا که همون توضیح کوچیکتون یه سردرگم رو نجات داد. نمی دونستم این قدر آسونه. البته و صد البته با کمک شما. من همونطور که گفتید، با دریافت آدرس سایت، یک دایرکتوری ساخته میشه و با دستور کپی، دو تا فایل خالی txt به همین اسم های بالایی که گفتید، به دایرکتوری انتقال داده میشه و آمار هر سایتی جدا میشه.
راستی برای ساخت نظرسنجی به صورت جداگانه هم میشه از همین روش بدون استفاده از دیتابیس استفاده کرد؟
پاسخ: 
سلام
خواهش می کنیم، در مورد ساخت نظر سنجی بدون دیتابیس، بله با یک برنامه نویسی حساب شده می شود، اما استفاده از دیتابیس مدیریت را آسان و سرعت انجام پروژه را افزایش می دهد، با فایل های متنی باید دقت بیشتری کنید و بر مباحث توابع فایل و کار با آرایه ها در php مسلط باشید.
نویسنده: سعید
زمان: ۰۱:۱۸:۲۳ - تاریخ: ۱۳۹۱/۱۲/۱۲
سلام
خیلی ممنون به خاطر آموزش هایی که قرار می‌دید.
میشه ویژگی دیگه ای به این کد اضافه کنید که "تعداد بازدیدکننده‌ها" رو هم نشون بده.
این کد الان "تعداد صفحات بازدید شده" امروز، دیروز و کل رو نشون میده. اگه ممکن باشه تعداد بازدیدکننده های امروز و دیروز (با آی پی یا کوکی) رو هم نشون بده، خیلی عالی میشه.
بازم به خاطر مقالات و آموزش های فوق العاده تون تشکر می کنم.
:)
پاسخ: 
سلام
ممنون از نظر لطف شما، در مورد پیشنهادتان، متاسفانه خیر، ایجاد این امکان نیاز به استفاده از دیتابیس دارد.
نویسنده: محمد مهدی
زمان: ۲۰:۴۱:۱۶ - تاریخ: ۱۳۹۲/۰۱/۲۱
اگر امکان دارد ساخت آمار سایت را با استفاده از دیتابیس رو هم اموزش بدید
فکر میکنم سرعت تو فایل متنی بالا تر باشه
ولی تو دیتابیس بهتر میشه چون 2 تا فایل تکست تو محتوای کلی سی ام اس کمتر میشه.
ممنونم
پاسخ: 
سلام
در مطالب آینده حتما این آموزش ارائه خواهد شد، البته مدتی زمان خواهد برد.
زمان: ۱۱:۳۹:۳۸ - تاریخ: ۱۳۹۲/۰۳/۳۰
میشه لطفا نمایش ورودی گوگل هم درونش قرار بدین؟
با تشکر
پاسخ: 
متاسفانه به دلیل کمبود وقت، امکان ویرایش کامل وجود ندارد، اما با اطلاعات زیر و کمی آشنایی با PHP می توانید کد را هر طور که مایلید توسعه دهید:
//بدست آوردن آدرس ارجاع
@$referer_http = $_SERVER['HTTP_REFERER'];
//بررسی ارجاع از سایتی خاص
$referer_google = preg_match('/google\.com|^$/i', $referer_http);
if($referer_google > 0){
//ارجاع از گوگل
}
نویسنده: بهنام
زمان: ۲۰:۱۹:۵۰ - تاریخ: ۱۳۹۲/۰۴/۰۶
سلام
چطوری میشه بازدید های این هفته و این ماه را به آن اضافه کنیم؟
پاسخ: 
سلام
مورد درخواستی شما نیاز به انجام محاسباتی دارد اما همان طور که در پاسخ قبلی اشاره شده، متاسفانه فرصت اضافه نمودن امکانات بیشتر به این کد وجود ندارد.
نویسنده: مینا
زمان: ۱۲:۱۶:۴۸ - تاریخ: ۱۳۹۲/۰۵/۰۷
خواهشا بخش ارجاع از گوگل یا مثلا بینگ رو کامل کنید
لطفا
پاسخ: 
متاسفانه امکان توسعه بیشتر این کد وجود ندارد، برای موارد بیشتر مانند ثبت ارجاعات از گوگل و... بهتر است سیستمی مبتنی بر پایگاه داده بنویسید.
نویسنده: بهنام
زمان: ۱۸:۰۳:۰۸ - تاریخ: ۱۳۹۲/۰۵/۲۹
سلام چه جوری میشه زمان اینکه کاربر تا 5 دقیقه آنلاین حساب میشه رو کمتر کرد؟
پاسخ: 
سلام
5 دقیقه برابر است با 60 ثانیه ضرب در 5 که نتیجه برابر 300 می شود، در کدها در دو قسمت عدد 300 را ملاحظه می کنید، با کاهش این عدد بر اساس فرمول گفته شده، مدت زمان آنلاین بودن کاربر کم می شود.
نویسنده: بهنام
زمان: ۱۲:۰۶:۱۲ - تاریخ: ۱۳۹۲/۰۵/۳۰
خیلی ممنون از پاسختون، من میخوام فقط ip ها از داخل فایل visit-online نمایش بدم یعنی بدون تاریخ ها به صورت کد نوشتم :
$file=fopen('visit-online.txt','r');
while(!feof($file))
{
$arr= fgets($file).'<br>';
echo $ex= explode('|',$arr);
print_r($ex);
}
fclose($file);
کدم کامل نیست لطفا بگید چه کد های دیگه باید اضافه کنم یا تغییر بدم.
پاسخ: 
روش شما اشتباه است، نمونه کد صحیح:
<?php
@$file = file_get_contents('visit-online.txt');
@$array_1 = explode("\r\n", $file);
@$array_2 = array();
$count = 0;
//print_r($array_1);
foreach($array_1 as $key => $value){
$array_2[$count] = explode('|', $array_1[$count]);
$count++;
}
//print_r($array_2);
$count = 0;
$result = NULL;
foreach($array_2 as $key => $value){
if(!empty($value[0])){
$result .= $value[0].'<br>';
}
}
echo $result;
?>
نویسنده: امیررضا
زمان: ۱۷:۳۶:۵۵ - تاریخ: ۱۳۹۲/۰۶/۰۲
با عرض سلام و خسته نباشید
اول به خاطر این سایت خوبتون تشکر می کنم
من خیلی به دنبال آموزش ساخت یک آمار گیر با زبان PHP گشتم که آخرش بهتر از شما رو پیدا نکردم.
من یک سوال برام پیش اومده.
من دارم یک سی ام اس طراحی می کنم.
میخوام اطلاعات آمار در یک صفحه دیگه نمایش داده بشه.
میخواستم بپرسم چطوری باید این کار رو انجام بدم؟؟؟
ممنون
پاسخ: 
سلام
می توانید مطابق الگوی آموزش محتویات فایل را از دایرکتوری مربوطه فراخوانی و بدون اینکه مقادیر آن را تغییر دهید، صرفا از بخش تجزیه و نمایش اطلاعات استفاده نمائید، مثال (تست نشده):
<?php
//اختلاف زمانی سرور
$time_zone = '12600';
//تاریخ امروز
$today = date("Y-m-d", time()+$time_zone);
//تاریخ دیروز
$yesterday = date("Y-m-d", time()-86400+$time_zone);
//آدرس فایل
$file_src = 'stats/visit-stats.txt';
chmod($file_src, 0755);
//خواندن فایل
$read_file = file_get_contents($file_src);
//اگر فایل خالی نبود
if (filesize($file_src) > 0 || $read_file != ''){
$today_visit = $split_file[0];
$yesterday_visit = $split_file[1];
$total_visit = $split_file[2];
}
//اگر فایل خالی بود
else{
$today_visit = 0;
$yesterday_visit = 0;
$total_visit = 0;
}
//محاسبه تعداد کاربران آنلاین
$config_array = array(
'user_time' => date("YmdHis", time()+$time_zone),
'user_ip' => $_SERVER['REMOTE_ADDR'],
'file_name' => 'stats/visit-online.txt'
);
chmod($config_array['file_name'], 0755);
//خواندن اطلاعات فایل
$online_file = file_get_contents($config_array['file_name']);
//تجزیه به آرایه
$online_file = explode("\r\n", $online_file);
//حذف مقادیر خالی
foreach($online_file as $key=> $value){
if(is_null($value) || $value == ''){
unset($online_file[$key]);
}
}
//محاسبه تعداد افراد آنلاین
$online = 0;
foreach($online_file as $online_users){
$user_ip_time = explode("|", $online_users);
if($user_ip_time[1] >= date("YmdHis", time()+$time_zone - 300)){
$online++;
}
}
//گرفتن خروجی
echo "<div class=\"stats\">
&raquo; بازدید امروز: $today_visit <br />
&raquo; بازدید دیروز: $yesterday_visit <br />
&raquo; افراد آنلاین: $online <br />
&raquo; بازدید کل: $total_visit
</div>";
?>
نویسنده: IMP
زمان: ۱۳:۱۰:۰۷ - تاریخ: ۱۳۹۲/۰۶/۲۹
خیلی ممنون به خاطر سایت پر محتوا و مطالب بسیار کاربردی. برای اولین بار هست که میبینم یک وبسایت پارسی زبان وجود دارد که تولید محتوا میکنه، اون هم همچین مطالب کاربردی و مفیدی.
موفق باشید.
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- مواردی که به کلی خارج از موضوع این مطلب هستند را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم، غیرضروری و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ کوتاه و مختصر داده خواهد شد!
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- تمام یادداشت ها بررسی و برای هر کاربر زمان مشخصی جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.





7 × 8
 refresh
آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
form امین ایرانی
در:
سلام ممکنه بفرمایید چجوری از تگ span واسه ی عکس استفاده کنیم؟
۱۸:۲۸:۲۲ ۱۳۹۹/۰۳/۱۱

form فرزانه
در:
سلام تو بررسی کدهای نوشته شده برای یک وبسایت در قسمت login برای یوزر و پسورد نوشته شده form-control-feedback و form-control من از کجا...
۱۱:۴۵:۰۱ ۱۳۹۹/۰۳/۱۱

form سحر
در:
سلام من وقتی میخوام توی قسمت صفحات جداگانه وبلاگم گزینه ادامه مطلب رو بیارم باید چیکار کنم چون فقط قسمت نوشته جدید همچین قابلیتی...
۱۵:۰۸:۱۹ ۱۳۹۹/۰۳/۰۸

form علی
در:
با سلام و درود فراوان یه کد جاوا دارم می خوام هر ثانیه نام یه فایل یا پوشه ای رو بگیرم برای مقایسه تا...
۱۱:۰۶:۲۲ ۱۳۹۹/۰۳/۰۸

form علیرضا
در:
با سلام مجدد در پاسخ یکی از کامنت هایم فرمودین که جهت فراخوانی (اجرای) یک فایل در سرور راس ساعت مشخص و صرف...
۱۱:۲۸:۲۴ ۱۳۹۹/۰۳/۰۵

form علیرضا
در:
سلام اگر بخواهیم صفحات سایت رأس ساعت مشخصی مثلا ساعت 12 ظهر رفرش بشه چه کدی رو باید استفاده کنیم. ممنون
۰۴:۴۳:۴۷ ۱۳۹۹/۰۳/۰۵

form علی
در:
با سلام من یه فانکشن نوشتم چطور میشه از توی جاوااسکریپت اون رو صدا بزنم در حقیقت می خوام از توی جاوا یه فانکشنی...
۲۰:۵۹:۰۹ ۱۳۹۹/۰۳/۰۴

form رویا
در:
سلام. خسته نباشید من جدیدا در بلاگفا وبلاگی راه اندازی کردم اما مشکلی دارم. وقتی قسمتی از متن رو انتخاب میکنم و لینک میکنم،...
۱۹:۵۴:۰۰ ۱۳۹۹/۰۳/۰۴

form علی
در:
چطور میشه همزمان با کلیک بر روی «تعویض کد» یعنی کد زیر: پوشه ساخته بشه. با سپاس
۰۹:۵۰:۲۷ ۱۳۹۹/۰۳/۰۳

form علی
در:
با سلام... من یه متغیر تعریف کردم مثلا رو بهش متصل کنیم ممنون از پاسختون.
۰۶:۱۶:۲۷ ۱۳۹۹/۰۳/۰۳

form یاسمن
در:
سلام یه برنامه ای که رشته رو به عنوان password دریافت کنه و کاراکتر فاصله نباشد طول رشته هم از 8 تا 50 باشه عدد...
۱۸:۵۲:۴۴ ۱۳۹۹/۰۳/۰۲

form مرتضی ق
در:
سلام خسته نباشید. یک سایت اصلی و مادر دارم مثلا www.m.com حالا سه سایت دیگر زیر مجموعه مثلا m1 و m2 و m3 من...
۱۸:۲۵:۱۱ ۱۳۹۹/۰۳/۰۲

form میترا
در:
با سلام ببخشید مطلبتون خیلی خوب بود یه سوال من با فتوشاپ انلاین کار می کنم نمی دونم چرا نمی تونم باهاش...
۱۸:۱۵:۱۰ ۱۳۹۹/۰۳/۰۲

form fatemeh
در:
پاراگراف زیر را داریم. چه تنظیماتی در CSS و HTML نیاز است تا در صفحه وببدرستی نمایش داده شود؟ میشه برا جواب این سوال...
۱۶:۳۲:۲۳ ۱۳۹۹/۰۳/۰۱

form علی
در:
با سلام و عرض ادب من یه فانکشن تعریف کردم و کدهای فایل ajax-loading-message.php رو درونش گذاشتم
۰۸:۴۲:۲۱ ۱۳۹۹/۰۳/۰۱
form Maryam
در:
سلام .. من میخاستم کدی بنویسم که خروجی آن دکمه on .. of باشه که با زدن دکمه رنگ پس زمینه تغییر کند ممنون میشم...
۰۲:۲۱:۳۴ ۱۳۹۹/۰۲/۳۱
form amir
در:
سلام ممنون از سایت خوبتون چطور میشه با جاوااسکریپت ایجکس و پی اچ پی بتونم تمامی جدول های دیتابیس رو هر کدوم با یه...
۲۰:۴۵:۵۲ ۱۳۹۹/۰۲/۳۰
form علی
در:
با سلام و عرض ادب بسیار سایت پر محتوایی دارید تبریک... می خواستم بپرسم اگر بخواهیم مثلا کاربر روی یک لینکی در سایت...
۰۷:۲۲:۰۱ ۱۳۹۹/۰۲/۳۰
form Edward ASharp
در:
سلام میشه همين فایلای کاملشو به من بدید؟
۰۰:۰۲:۲۱ ۱۳۹۹/۰۲/۳۰
form میکاییل
در:
سلام من پروزه ای دارم با mvc نوشته شده و در روت سایت فایل htacsess دارم که کد های زیر توشه ...
۰۲:۳۰:۰۲ ۱۳۹۹/۰۲/۲۹
form mahdi
در:
سلام استاد عزیز ، این درسته که با node.js دیگه نیازی به یادگیری php نخواهیم داشت؟
۲۲:۳۹:۳۶ ۱۳۹۹/۰۲/۲۸
form امیر مهدی
در:
سلام ممنونم از اینکه کمکم کردید ولی من منو رو با زیر منوها می خواستم کد شما زیر منوها رو از بین برد. منظور من...
۲۲:۳۰:۱۵ ۱۳۹۹/۰۲/۲۸
form امیر مهدی
در:
سلام. من در طراحی منو سایت با مشکل برخوردم. من منو خودم رو ساختم و متوجه شدم که منو من مقداری فضا از سمت چپ...
۱۹:۲۴:۰۱ ۱۳۹۹/۰۲/۲۸
form امین
در:
خیلی خیلی ممنون از اینکه جواب دادید اما الان که امتحان کردم مجموع همه ی سفارشات رو میزنه یعنی اگر 3 نفر سفارش دادن...
۱۳:۴۶:۵۵ ۱۳۹۹/۰۲/۲۸
form امین
در:
درود به شما خسته نباشید یک سوال داشتم خیلی گشتم اما پیدا نکردم من دیتابیسی برای مثال invert دارم میخوام یک صفحه...
۰۱:۰۰:۴۵ ۱۳۹۹/۰۲/۲۸
form امیر
در:
عالی بود. سپاس گذارم
۱۰:۱۹:۴۴ ۱۳۹۹/۰۲/۲۷
form فرامرز اسماعیلی
در:
سلام خسته نباشید. من داخل ویرایشگرهای notepad++ یا Braket دستور html رو می نویسم یعنی فایل متنی به صورت index.html رو می خواهم اجرا کنم...
۲۲:۴۱:۴۳ ۱۳۹۹/۰۲/۲۶
form پری
در:
سلام بعضی از سایت ها وقتی اهنگ بعدی رو پلی میگنیم اهنگ قبلی که در حال پخش است به طور خودگار قطع میشود میشه این...
۱۴:۲۲:۲۵ ۱۳۹۹/۰۲/۲۶
form ilia Delbar
در:
خیلییییییییییی خوبه! فقط دلم می خواد یه برنامه درست کنم رنگ ها رو نشون بده (رنگ تگ ها)
۱۳:۱۵:۱۹ ۱۳۹۹/۰۲/۲۶
form زهیر صفری
در:
با سلام چطور میتونم تاریخ تولد فرد ایرانی رو بگیره مثلا از input و سن فرد رو در input بعدی نمایش بده میتونید...
۱۲:۳۸:۵۷ ۱۳۹۹/۰۲/۲۶
form حبیب
در:
با سلام بنده از طریق مودم خانه به اینترنت وصل شدم هم با کامپیوتر و هم با موبایل. اما ای پی در هر...
۰۳:۱۲:۵۴ ۱۳۹۹/۰۲/۲۶
form امین
در:
سلام خسته نباشید امیدوارم جوابمو بدید من داخل یک صفحه این کد جاوا رو دارم میخوام خروجی که میده رو داخل...
۱۳:۴۴:۳۳ ۱۳۹۹/۰۲/۲۵
form امیر هادی نجاتی
در:
ممنون از شما. این قسمت (استفاده از جاوا اسکریپت برای غیر فعال کردن کلیک راست) واقعا به دردم خورد .
۲۱:۰۳:۵۰ ۱۳۹۹/۰۲/۲۴
form لیلا
در:
سلام ، ببخشید من میخوام یک مدرک رو در سایت آپلود کنم ولی ارور زیر رو میده . میشه راهنماییم کنید. ممنون
۱۴:۵۲:۴۷ ۱۳۹۹/۰۲/۲۴
form زهرا جعفری
در:
با سلام بنده میخواهم در جاوااسکریپت یک textbox داشته باشم که در آن یک دکمه چشمک زن بذارم وسط متن و وقتی روی...
۱۰:۰۱:۵۱ ۱۳۹۹/۰۲/۲۴
form جواد
در:
سلام. مقادیر و اطلاعاتی از یک سایت دیگه با همین متد file get contents میگیرم که روی لوکال هاست سرعتش خوبه، روی سرور هم بد...
۲۲:۰۳:۲۲ ۱۳۹۹/۰۲/۲۳
form علی رضایی
در:
در خط آخر خطای نحوه ارسال آرگومان می دهد. خطای syntax است یا دستور مورد دارد؟
۱۳:۲۹:۴۹ ۱۳۹۹/۰۲/۲۳
form علی
در:
سلام میخوام مطالب مرتبط با موضوعات سایتم رو در پایین اونها نمایش بدم چجوری میتونم این کار رو بکنم
۰۱:۲۸:۰۰ ۱۳۹۹/۰۲/۲۳
form امیرحسین
در:
با سلام. من تو css میخوام از اتریبیوت border-radius استفاده کنم ولی وقتی مقدارشو مثلا توی div زیاد میذارم متن داخل div بیرون میاد میخواستم...
۱۹:۵۲:۳۰ ۱۳۹۹/۰۲/۲۲
form امیرعلی
در:
با سلام بنده میخواستم بدانم که میشود تگ div را با این روش ها پنهان کرد من میخواهم افزونه ی وردپرسی را...
۱۲:۳۹:۲۶ ۱۳۹۹/۰۲/۲۲
form یوسف رضایی
در:
با سلام و خسته نباشید خواستم بپرسم خروجی یک فرم (با چند گزینه) بر روی برووزر که اماده برای ارسال برای سرور هست را توی...
۱۱:۱۴:۰۳ ۱۳۹۹/۰۲/۲۲
form سعیده
در:
سلام من یه اهنگ که تو وبلاگم میزارم صفحه پخش اهنگ میاد و بلندگوش ولی اون مثلث پلی کنندش نمیاد یعنی عملا واسم...
۱۵:۴۱:۰۵ ۱۳۹۹/۰۲/۲۱
form مجید اسکندری فر
در:
سلام حدود 700 تصویر رو در وبلاگم بارگذاری کردم و حدود 6000 بازدید داشته علت عدم نمایش تصاویر بارگذاری شده در وبلاگم چیست؟ خیلی زحمت...
۱۰:۳۲:۴۵ ۱۳۹۹/۰۲/۲۱
form علیرضا
در:
سلام، ممنون از مطلب کاملتون یه نکته رو هم من اضافه کنم برای کاملتر شدن مقاله، هر آدرس آی پی از یک شناسه هاست...
۰۹:۳۷:۵۰ ۱۳۹۹/۰۲/۲۱
form mahdi
در:
سلام استاد عزیز ، خیلی ممنون از راهنمایی ، انجامشون میدم، فکر میکنم همه این کارارو بلد باشم فقط WYSIWYG رو اصلا نشنیده بودم که...
۰۷:۱۸:۳۷ ۱۳۹۹/۰۲/۲۱
form معصومه
در:
سلام، امروز دیدم که عکس های وبلاگم حذف شده چرا؟ چطور میتونم برشون گردونم؟ عکس ها رو از سایت پیکو فایل آپلود میکردم، هرچقدرم سعی...
۱۴:۵۳:۵۱ ۱۳۹۹/۰۲/۲۰
form mahdi
در:
سلام استاد عزیز و گرامی ، یه درخواستی داشتم ازتون میخوام اگه براتون ممکنه من رو در جاوا اسکریپت بسنجی که بدونم چیا بلدم...
۱۴:۱۸:۵۸ ۱۳۹۹/۰۲/۱۹
form امیر
در:
با سلام، خدمت دوستان عزیز دو جدول به نام‌های Messages و Comments موجود هستند. در جدول Comments فیلدی به نام IDElement وجود دارد که...
۰۵:۲۹:۳۸ ۱۳۹۹/۰۲/۱۹
form ehsan hoseini sianaki
در:
سلام خیلی عالی و کاربردی بود. خسته نباشید.
۲۳:۰۰:۵۱ ۱۳۹۹/۰۲/۱۷
form امید
در:
با سلام و عرض ادب فیلتری میخوام که تعداد جوابهای فیلترهای سایت tse بورس که با جاوا نوشته شده رو بگه مثلا قرار...
۰۰:۱۰:۵۱ ۱۳۹۹/۰۲/۱۷
form احسان
در:
سلام ببخشید من هر کار میکنم تو گوشی اندروید با Html یه عکس رو در سایت خودم بزارم هیچی نمیشه فقط یه علامت عکس میاد...
۲۲:۲۸:۳۷ ۱۳۹۹/۰۲/۱۶
form hasti
در:
سلام . وقت بخیر . میشه مثالی بزنید که right over join برابر با inner join (داخلی) بشه . /با order و customer/ ...
۲۰:۰۵:۱۷ ۱۳۹۹/۰۲/۱۶
form میثم
در:
سلام مجدد من دیگه اینقدر با این کدها ور رفتم دیوونه شدم. این کل تابع منه. شما می تونید برای حل مشکلی که...
۱۷:۳۰:۳۱ ۱۳۹۹/۰۲/۱۶
form میثم
در:
سلام در تکمیل سوالی که خدمت شما عرض شد: ببینید ما دو تا فیلد فایل داریم توی اولی عکس اپ میشه و توی...
۱۶:۲۶:۲۶ ۱۳۹۹/۰۲/۱۶
form ماردین
در:
سلام من میخواستم ببینم چکار کنم که اولین query رو بدون حذف بقیه query ها حذف کنم
۱۵:۵۲:۵۴ ۱۳۹۹/۰۲/۱۶
form میثم
در:
سلام یه سوال خدمت شما داشتم. من با جاوا اسکریپت میخوام بخش فایل توی فرمم رو چک کنم. توی فرم 2 تا فیلد...
۱۱:۴۷:۵۲ ۱۳۹۹/۰۲/۱۶
form amir mtf
در:
سلام ببخشید من میخواستم در تگ این‌پوت برخی از کلمات و علامت ها رو حذف کنم. یک درخواست دیگر هم دارم اگه میشه کد...
۱۲:۳۷:۰۵ ۱۳۹۹/۰۲/۱۵
در انتظار بررسی: ۰