آگهی
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 و CSS
» ارسال ایمیل با PHP و کلاس phpmailer
» محدود کردن لینک دانلود مستقیم فایل ها با PHP و htaccess
» نمایش قسمتی از متن و پاراگراف با PHP
» آموزش ساخت نقشه XML سایت (Sitemap) با PHP و MySQL
commentنظرات (۶۵ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: محمد
زمان: ۲۳:۴۷:۲۹ - تاریخ: ۱۳۹۳/۰۴/۲۴
خیلی ممنون خودم درستش کردم.
اینم کدش فقط 2 تا علامت اضافه کردم.
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('could not' .mysql_error());
}
mysql_select_db("mataleb",$con);
$wof = $_POST['t1'];
$result = mysql_query("SELECT * FROM texes where Title = '$wof'");
if (!$result)
{
die('could not' .mysql_error());
}
while($row = mysql_fetch_array($result))
{
echo $row['ID']."".$row['Text'];
echo "<br>";
}
mysql_close($con);
?>
با این کد ها معلوم میشه فقط یه اشتباه کوچک 3 هفته ادمو الاف می کنه
پاسخ: 
- برای جلوگیری از اتلاف وقت باید روش های خطایابی را یاد بگیرید.
- در یادداشت اول بحث آرایه را مطرح کردید اما در یادداشت دوم از حالت عادی استفاده شده!
نویسنده: محمد
زمان: ۱۷:۱۳:۵۱ - تاریخ: ۱۳۹۳/۰۴/۲۷
چطوری میشه ای پی یه سیستم رو بدست اورد؟
پاسخ: 
با این دستور ساده IP کاربران در PHP به دست می آید:
<?php echo $_SERVER['REMOTE_ADDR']; ?>
قاعدتا با اندکی آشنایی با PHP، به شیوه های مختلف می توانید از این پارامتر در برنامه خود استفاده کنید.
نویسنده: امین
زمان: ۱۹:۵۰:۱۴ - تاریخ: ۱۳۹۳/۰۶/۱۴
سلام خیلی مفید بود
یه سوالی داشتم همونطور که در پاسخ یکی از کاربران گفتید
***********
پاسخ:
بهتر بود ابتدا سوال را با جزئیات مطرح می کردید که راهنمایی ما دقیق تر باشد، به هر صورت برای این کار نیازی نیست در فایل txt آدرس url را ذخیره کنید، راه ساده تر آن ایجاد یک پوشه برای هر کاربر (نام پوشه می تواند آدرس url کاربر باشد) و مدیریت اطلاعات آماری او داخل آن پوشه است،
***********
برای استفاده از این روش باید چه کدی ایجاد شود که با فراخوانی ان کد از فایلی که ایجاد کرده ایم مثلا AMAR.PHP یک کپی جدید به نام AMAR2.PHP ایجاد کرد؟ تا بعدا بتوان با متد get فایل مورد نظر فراخوانی شود؟
با تشکر
پاسخ: 
سلام
قاعدتا نمی توانیم همه مراحل را در این قسمت شرح دهیم، در کل باید با توابع مربوط به فایل در PHP مانند copy، rename، unlink و... آشنا باشید، در واقع اگر می خواهید یک برنامه کاربردی بنویسید باید در سطح متوسط به بالا با PHP کار کرده باشید!
http://fr2.php.net/manual/en/function.copy.php
نویسنده: majid
زمان: ۱۱:۰۰:۵۵ - تاریخ: ۱۳۹۳/۰۸/۰۴
سلام من فقط خواسم از سایت خوبتون ازتون تشکر کنم
نویسنده: majid
زمان: ۱۱:۰۶:۱۲ - تاریخ: ۱۳۹۳/۰۸/۰۴
سلام میگم چرا هر بار که یه لینک رو توی صفحه اصلی باز میکنی یه امار اضافه میشه؟؟؟؟؟؟؟؟
پاسخ: 
سلام
این کد برای محاسبه "تعداد بازدید" است نه بازدیدکننده، لذا با هر بار فراخوانی صفحه، یک واحد به آمار بازدید اضافه می شود.
نویسنده: مینا
زمان: ۲۰:۱۲:۰۸ - تاریخ: ۱۳۹۳/۰۸/۰۵
سلام
از سایت خوبتون متشکرم خیلی در نوشتن کدها بهم کمک کردید.
یه سوال داشتم من این آمار رو به سایتم اضافه کردم ولی موقع ریست آمار در سایتم ساعت 9 شبه در صورتیکه میخوام ساعت 12 شب باشه اگه میشه راهنماییم کنید که چطور اونو تغییر بدم که ساعت 12 شب آمار از صفر شده و از یک برای روز بعد اضافه بشه .
لطفا اگه ممکنه پاسخ رو به ایمیلم ارسال کنید
با تشکر
پاسخ: 
سلام
این موضوع به اختلاف زمانی سرور شما از GMT برمی گردد، با توجه به اطلاعات شما عدد 12600 (ثانیه) را در متغیر time_zone به 1800 تغییر دهید (30 دقیقه در 60 ثانیه)
نویسنده: رضا
زمان: ۲۱:۰۷:۳۵ - تاریخ: ۱۳۹۳/۰۹/۲۴
با سلام
چطوری میتونم یک اسکریپ کوچیک که فقط ابزار آمارگیر ارایه بده بنویسم نمیخوام خیلی حرفه ای باشه
مثال : امارگیر سایت یک ابزار البته کمی ساده تر
فقط اینطوری باشه که کاربر ادرس سایت یا وبلاگشو وارد کنه سپس کدی برایش نمایش داده بشه که همون کد آمارگیر است
میشه راهنماییم کنید
پاسخ: 
سلام
سوالتان خیلی کلی است! در کل باید برنامه نویسیی و استفاده ترکیبی از جاوا اسکریپت و PHP بلد باشید! متاسفانه پاسخ کوتاهی وجود ندارد!
نویسنده: محسن
زمان: ۱۰:۲۰:۰۹ - تاریخ: ۱۳۹۳/۱۰/۱۷
سلام و عرض ادب
اگر قرار باشد این ابزار را بصورت خدماتی برنامه نویسی کنیم که کاربران وبلاگ نویس از ان استفاده کنند به نظر شما استفاده از دیتابس بهتر هست یا این روش ؟
این نکته رو هم در نظر داشته باشید که ابزار خدماتی معمولا استفاده بالایی دارند و شاید به دیتابیس فشار زیادی بیاد که با ای پی های مختلف در زمان های مختلف بروز رسانی بشه.
نیاز به تجزیه و تحلیل امار نیست و فقط نمایش بازدید داخل ابزار باشه.
پاسخ: 
سلام
همان طور که اشاره کرده اید، استفاده از دیتابیس در صورتی نیاز است که بخواهید اطلاعات مفصلی به بازدیدکننده ارائه کنید، همچنین سرعت نوشتن برنامه ای برای تجزیه تحلیل آمار با دیتابیس خیلی بیشتر و راحتتر خواهد بود، اما در مقابل مشکل قدرت پردازش سرور و سرعت نیز وجود خواهد داشت، در نتیجه در مقیاس کلان اگر قرار بر استفاده از دیتابیس است باید متناسب با تعداد کاربران سروری قدرتمندتر از حالت بدون دیتابیس داشته باشید، اما بدون دیتابیس سرعت کار بیشتر است و فشار کمتری به سرور وارد می شود!
نویسنده: محسن
زمان: ۱۲:۰۸:۰۳ - تاریخ: ۱۳۹۳/۱۰/۱۸
سلام و عرض ادب
این تفاوت چقدر چشمگیر است
قبلا بنده چنین ابزاری با دیتابیس نوشته بودم اما فشار بسیار زیادی به سرور میومد
میخوام ببینم این تفاوت چقدر است
پاسخ: 
سلام
تفاوت تا حدی وجود دارد (می توانید در سرور خود یک کد را با و بدون دیتابیس خروجی بگیرید و میزان زمان دریافت پاسخ سرور را محاسبه کنید، روش هایی برای این کار وجود دارد، لطفا در وب جستجو کنید) اما اصولا سروری که نتواند کاربران را با دیتابیس پشتیبانی کند، برای کار با فایل نیز توصیه نمی شود! به عبارت بهتر استفاده از فایل برای مواردی که به فرض اتصال با دیتابیس برقرار نشود یا چاپ سریعتر خروجی مفید است، اما قدرت و تنظیمات سرور باید طوری باشد که با دیتابیس نیز توان پردازش عادی درخواست ها را داشته باشد، در نتیجه اگر سرور شما تحت فشار عمل می کند باید دو نکته را مد نظر داشه باشید:
- همراه در نوشتن برنامه ها تا حد امکان بهینه کدنویسی کنید، یعنی طوری ساختار را تعریف کنید که کمترین استفاده در کوتاه ترین زمان از دیتابیس انجام شود.
- قدرت سخت افزاری سرورتان باید متناسب با نیازتان باشد، در غیر این صورت اصولا روش نرم افزاری آنچنانی برای جبران این نقص وجود ندارد!
نویسنده: آرمین
زمان: ۱۸:۲۴:۰۱ - تاریخ: ۱۳۹۳/۱۰/۱۹
با عرض سلام
ممنون از اطلاعات خوبتون
من مشکل یکی ار کاربران رو دارم که با هر رفرش در مرورگر کروم 2 بار به بازدید اضافه میشه و حتی AddDefaultCharset utf-8 رو به اول فایل htaccess اضافه کردم اما حل نشد. راه حل دیگه ای وجود داره؟
پاسخ: 
سلام
این مشکل معمولا ناشی از دو عامل است:
- یونیکد صفحه به هر دلیل توسط سرور برای مرورگر ارسال نمی شود یا به اشتباه ارسال می شود (به فرض ممکن است فایل شما BOM یا Byte Order Mark داشته باشد که باید فایل را در یک ویرایشگر متنی مانند ++Notepad ویرایش و از منوی Encoding گزینه Convert to UTF-8 without BOM را انتخاب کنید).
- پلاگینی در مرورگر وجود دارد که عامل این مشکل است.
نویسنده: امین
زمان: ۱۷:۰۶:۳۲ - تاریخ: ۱۳۹۳/۱۲/۰۶
با سلام
ممنون از سایت و کدهای خوبتون. میخوام خواهش کنم راجب نحوه کار کردن متد
$_SERVER['REMOTE_ADDR']
بیشتر توضیح بدین. میخوام بدونم وقتی ما مقدار برشتی از این رو (آی پی یک کابر) در یک متغیری ذخیره کردیم، اگر کابر دیگری وارد سایت بشه این متغیر مقدارش جایگزین میشه؟
من دارم با استفاده از روش شما همین کد رو به صورت ترکیبی استفاده از فایل و دیتابیس و برای شمارش بازدید کننده مینویسم ولی نتونستم جایی جواب سوالمو پیدا کنم.
اگه چندین کاربر با هم وارد سایت بشن تکلیف متغیر حاوی
$_SERVER['REMOTE_ADDR']
چی میشه؟ یعنی چجوری مقدار میگیره در مواجهه با چندین ورودی ؟
پاسخ: 
سلام
اگر PHP را خوب درک کرده باشید، به پاسخ سوالتان می رسید، مفسر PHP برای هر فراخوانی به صورت جداگانه عمل کرده و نهایتا هنگامی که پردازش کدها (برای آن کاربر) به پایان رسید، نتیجه به مرورگر او ارسال می شود، لذا هیچ تداخلی بین چند کاربر و... پیش نخواهد آمد چون فراخوانی ها به صورت مستقل است و مقدار متغیر برای هر فراخوانی با توجه به اطلاعات ورودی همان واسط کاربری تنظیم می شود (توجه کنید که PHP با هدف ایجاد برنامه های تحت وب به صورت پویا ایجاد شده).
نویسنده: امین
زمان: ۱۱:۵۰:۰۱ - تاریخ: ۱۳۹۳/۱۲/۰۷
ممنون از پاسختون
میخوام خواهش کنم اگه امکان داره راجب قسمت محاسبه عداد افراد آنلاین بیشتر توضیح بدین. راجب مقدار دهی به متغیر online = 1.
میخوام بدونم با وجود اینکه متغیر مقدار 1 گرفته چطور مقدارش زیاد میشه؟ چون در هر بار باز شدن صفحه مقدارش برابر 1 میشه امکانش هست از count که تعداد عناصر آرایه رو برمیگردونه استفاده کرد؟ من از count‌ استفاده کردم اما دستورات مربوط به پاک کردن عناصر online_file رو تغییر دادم و یه شرط های دیگه ای رو در قسمت نوشتن در فایل مربوط به افراد آنلاین اعمال کردم
ممنون از سایت خوبتون
پاسخ: 
استفاده از هر دستوری باید با آگاهی از عملکرد آن صورت گیرد که این مستلزم کار و یادگیری از مقدمات است، در صورتی که بدانید چه کاری انجام می دهید، هیچ منعی بین روش کار نیست، در اینجا بازدیدهایی که بیشتر از ده دقیقه قبل بوده در حلقه foreach نادیده گرفته می شوند (با دستور شرطی بررسی زمان)، در غیر این صورت مقدار کاربران آنلاین یک واحد افزایش می یابد (علامت ++ یک واحد متغیر را افزایش می دهد!).
نویسنده: محسن
زمان: ۱۰:۱۴:۵۳ - تاریخ: ۱۳۹۴/۰۲/۰۶
سلام و عرض ادب
این اسکریپت یک مشکلی داره اگر یک روز از سایت بازدید نشه و فردای اون روز بازدید بشه، بازدید روز قبل رو صفر نمیکنه.
در واقع در صورت تغییر تاریخ اخرین بازدید رو جایگزین بازدید دیروز میکنه، باید این شرط به کد اضافه بشه :
if($modify == $yesterday){
$yesterday_visit = $split_file[0];
}
else{
$yesterday_visit = 0;
}
پاسخ: 
سلام
ضمن تشکر فراوان از توجه شما، کدهای آموزش اصلاح گردید.
نویسنده: محراب
زمان: ۱۴:۵۴:۱۱ - تاریخ: ۱۳۹۴/۰۴/۰۶
با سلام
من دارم یک cms طراحی می کنم و می خواهم وقتی کاربر اطلاعات ارتباطی با mysql را وارد می کند این اطلاعات در صفحه ی php ذخیره شود
آیا می توان برگه مورد نظر را در حالت ویرایش باز کرد و برای مثال root را در متغیر نام کاربری آن صفحه قرار داد
در غیر اینصورت من چه کاری کنم برای رفع این مشکل
این سوال من خیلی تو اینترنت گشتم ولی جواب درست و حسابی پیدا نکردم
این سوال برای قسمت installer اسکریپت هست
پاسخ: 
سلام
برای این کار معمولا فایلی با نام config.php در نظر می گیرند و اطلاعات اتصال را در آن ذخیره می کنند، همچنین برای محافظت بیشتر با استفاده از دستورات htaccess دسترسی مستقیم به فایل را محدود می کنند.
<FilesMatch "config\.php|function\.php|include\.php">
Order allow,deny
Deny from all
</FilesMatch>
نویسنده: مرتضی
زمان: ۱۵:۰۰:۲۷ - تاریخ: ۱۳۹۴/۰۵/۲۵
با سلام
کد به درستی کار میکنه.
فقط چه طور میشه این کد رو علاوه بر سایتم در انجمن نیز نمایش دهم و نتایج به صورت تجمعی نشون داده بشه؟ مثلاً اگه تو صفحات اصلی 5 نفر آنلاین باشند و در انجمن 2 نفر، نمایشگر تعداد افراد آنلاین رو 7 نفر بنویسه؟
اصلا این قابلیت در این کد گنجانده شده؟
ممنون از لطف شما
پاسخ: 
سلام
برای این کار باید با برنامه نویسی PHP آشنا باشید و کد را توسعه دهید، یعنی با توجه به دایرکتوری که فایل آمار انجمن در آن ذخیره می شود، اطلاعات را به فایل اصلی وارد و پس از ترکیب (جمع آمار انجمن با سایت اصلی)، نهایتا به صورت یک آمار کلی نمایش دهید.
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- مواردی که به کلی خارج از موضوع این مطلب هستند را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم، غیرضروری و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ کوتاه و مختصر داده خواهد شد!
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- تمام یادداشت ها بررسی و برای هر کاربر زمان مشخصی جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.





7 × 9
 refresh
آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
form sepideh
در:
سلام. من یک لندینگ پیج رو به صفحه اصلی سایت ریدایرکت 301 کردم. اگر بخوام تمام لینک های داخلی لندینگ رو (صفحات دنباله) رو...
۱۷:۱۱:۴۰ ۱۳۹۹/۰۴/۲۳

form ا
در:
ببخشید کدها رو کجا میزنیم؟
۱۵:۳۲:۵۷ ۱۳۹۹/۰۴/۲۳

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

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

form سلماسی
در:
سلام ایا اگر از وبسایت شخصی کسی بازدید کنیم صاحب وبسایت شماره ی ما را می بیند
۲۱:۳۱:۵۳ ۱۳۹۹/۰۴/۲۲

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

form mahdi
در:
سلام استاد عزیز ، میتونید یه نمونه که فقط با جاوا اسکریپت کار شده نه با فریمورکاش بهم معرفی کنید ببینم؟ من هرچی گشتم پیدا...
۱۴:۴۶:۲۴ ۱۳۹۹/۰۴/۲۲

form mahdi
در:
سلام استاد عزیز و گرامی ، یه دفتر چه یادداشت با localstorage میخوام بنویسم ولی مشکل دارم، دو تا سوال دارم ممنون میشم راهنماییم...
۱۲:۰۵:۰۷ ۱۳۹۹/۰۴/۲۲

form اریا
در:
سلام و درود بزرگوار چه دستوری باید بنویسیم تا فقط مقدارهای خاصی از ارایه بتونیم نمایش بدیم. مثلا یک ارایه 6 خونه ای...
۱۶:۴۷:۳۱ ۱۳۹۹/۰۴/۲۰

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

form سجاد
در:
دمتون گرم. خیلی زحمت کشیدید
۱۳:۴۳:۱۱ ۱۳۹۹/۰۴/۲۰

form KhashayarPrk
در:
سلام. میخوام الگو تمام کلمات داخل پرانتز رو بدون پرانتز بریزه ارایه با این کد فقط یک پرانتز رو جواب میده.
۱۳:۱۳:۴۷ ۱۳۹۹/۰۴/۲۰

form Oliver
در:
چطوری دستور background رو برای جدلمون عکسش رو تنظیم کنیم و بهش طول و عرض بدیم
۱۶:۰۷:۱۷ ۱۳۹۹/۰۴/۱۸

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

form آیدا
در:
سلام من در حال طراحی با html هستم اما طبق فیلم آموزشی پیش میرم از یه جایی به بعد هم تغییرات اعمال نمیشه...
۲۲:۴۷:۴۴ ۱۳۹۹/۰۴/۱۴
form علی
در:
سلام اگه میشه یه تکه کدی بفرستید که کاربر نتونه عکس مورد نظر رو دانلود کنه و با نگه داشتن روی عکس فقط لینکو ببینه...
۰۹:۳۰:۴۹ ۱۳۹۹/۰۴/۱۴
form sina2000
در:
با سلام و خسته نباشید طبق کد زیر استفاده میگه متغیر Pdc برای PDO است لطفا نمونه کد برای لایبرری...
۱۵:۰۳:۵۱ ۱۳۹۹/۰۴/۱۳
form محمد امین
در:
سلام ممنون از مطلبتون ببخشید من یه سایتی با شی گرایی کامل زدم الان میخوام آدرسشو بهینه کنم آدرس الان من به این صورته:...
۱۸:۲۸:۲۴ ۱۳۹۹/۰۴/۱۱
form ترنم
در:
سلام وقتتون بخیر ببخشید من کدهای مربوط منو و زیر منو رو نوشتم ولی موقع اجرا منوی اصلی رو میاره ولی زیر منوها رو...
۱۱:۰۶:۲۹ ۱۳۹۹/۰۴/۱۱
form ا
در:
سلام چرا وقتی مطالب مربوط که تو وبلاگم هست رو جستجو میکنم نمیاره ؟؟؟
۲۰:۳۱:۰۸ ۱۳۹۹/۰۴/۰۷
form amir
در:
سلام من اگه بخوام با وارد کردن یه id داخل یک text کل اون ردیف پاک بشن باید چه کنم مثلا یک text دریافت میکنم...
۰۱:۴۸:۰۵ ۱۳۹۹/۰۴/۰۷
form محمدباقر حسیبیان
در:
من این مشکل برام پیش اومده که موقع ورود به پروژه م توی لوکال هاست wamp صفحه سفیده و هیچی رو نشون نمیده و کد...
۱۶:۴۲:۳۸ ۱۳۹۹/۰۴/۰۶
form ...
در:
سلام دو سایت نوشته ای مربوط به من رو چند سال قبل لینک دانلود قرار دادن من ازشون خواستم بردارنش ولی اینکارو نکردن سایت...
۱۷:۲۶:۴۲ ۱۳۹۹/۰۴/۰۵
form مجتبی
در:
سلام میشه یک کد جاوا رو به php تبدیل کرد تا لود سایت سریع تر بشه؟
۱۳:۰۴:۲۳ ۱۳۹۹/۰۴/۰۴
form متین
در:
سلام ؛ من تازه شروع به یادگیری کردم ؛ مطلب بسیار کاربردی بود ؛ ممنون از شما دوست عزیز.
۰۱:۵۰:۰۵ ۱۳۹۹/۰۴/۰۴
form mahdi
در:
سلام استاد عزیز و گرامی امیدوارم که حالتون خوب باشه ، اگه براتون ممکنه لطفا یه آموزش خوب در زمینه وردپرس بهم معرفی کنید ،...
۲۱:۴۸:۱۳ ۱۳۹۹/۰۴/۰۳
form امید
در:
در برنامه نویسی کاربر با چه دستوری میتواند به صفحه اصلی برگردد
۱۹:۰۶:۵۶ ۱۳۹۹/۰۴/۰۳
form ali
در:
با سلام من یک پروژه طراحی کردم میخوام که وقتی کاربر روی ادامه مطلب کلیک کرد در خود صفحه بقیه مطالب را ببینه...
۱۸:۴۷:۲۲ ۱۳۹۹/۰۴/۰۳
form علی
در:
سلام و تشکر از زحمات ارزشمند شما احتراما بنده امروز از یک شماره تلفن ثابت از طریق یک رایانه و یک موبایل به طور...
۱۸:۰۱:۱۰ ۱۳۹۹/۰۴/۰۳
form oscar
در:
درود. اگر بخوایم در نمایش تاریخ و زمان که به صورت لحظه ای خودش در صفحه رفرش میشه، فقط عبارت " Mon Jun 22 2020...
۱۵:۵۹:۳۲ ۱۳۹۹/۰۴/۰۲
form علی
در:
با سلام چطور میشه فقط یک صفحه مورد نظرمون رفرش بشه نه همه صفحات سایت
۰۰:۰۳:۴۱ ۱۳۹۹/۰۳/۳۱
form Farzad
در:
الان وقتی فایل رو میخواد دانلود بکنه از خودش فایل میسازه ، به این صورت یعنی بعد از پوشه file هر پوشه ای باشه...
۱۸:۵۶:۲۱ ۱۳۹۹/۰۳/۳۰
form Farzad
در:
سلام ، خسته نباشید من فایل هایی که در هاست میزارم به این شکل هست: یعنی مشخص نیست فایل ها تو چه پوشه...
۱۳:۳۳:۴۰ ۱۳۹۹/۰۳/۳۰
form شیما طیبی
در:
سلام خیلی مطلب مفیدی بود . همیشه به وبلاگ نویسی به چشم یه کار خسته کننده نگاه میکردم ولی خب یه مقدار نظرم تغییر کرد....
۲۳:۵۲:۳۲ ۱۳۹۹/۰۳/۲۹
form احسان
در:
سلام من یک کد اسکریپت دارم که به صورت عددی تبدیل شده است. میخواستم بپرسم چطوری میتونم اسکریپت به حالت اولیه نوشته شده برگردانم و...
۲۱:۰۲:۱۳ ۱۳۹۹/۰۳/۲۷
form علی
در:
ممنون از پاسختون اما روش بالا جهت دانلود فایل کاربرد داره . من میخواستم به صورت استریم ویدئو پخش بشه اما آدرس مستقیم ویدئو...
۰۰:۳۷:۴۶ ۱۳۹۹/۰۳/۲۷
در انتظار بررسی: ۰