PDA

View Full Version : آموزش: آموزش به دست آوردن تاریخ و ساعت سرور



butterfly8528
یک شنبه 06 شهریور 1390, 17:42 عصر
سلام دوستان و اساتید گرامی .
دسترسی به تاریخ و ساعت دقیق و غیرقابل تغییر توسط کاربر همیشه از نیاز های مهم اکثر برنامه هاست.
برای این کار دو راه وجود داره :
1- استفاده از تاریخ و ساعت ویندوز که ریسک بسیار بالایی داره و اصلا قابل اطمینان نیست ، چون به راحتی توسط کاربر تغییر داده میشه و حتی ممکنه تاریخ و ساعت سیستم کاربر اصلا درست تنظیم نشده باشه .


2- بدست آوردن تاریخ و ساعت یک سرور از طریق اینترنت ، در این روش صحت تاریخ و ساعت به دست آمده تضمین شده هست و کاربر امکان تغییر اون رو نداره .

برای اجرای روش دوم نیاز به پیاده سازی موارد زیر دارید :

1 - یک برنامه سرور ساید (برنامه ای که طرف سرور اجرا بشه) که تاریخ و ساعت سرور رو بدست بیاره
برای این بخش ما از از زبان PHP استفاده میکنیم ، چون علاوه بر ساده بودن،بر روی تمامی هاست های ویندوز و لینوکس قابل اجراست .
در زبان PHP برای بدست آوردن تاریخ و ساعت سرور از تابع date استفاده میشه ، که در کد زیر شاهد اون هستید :


//www.arshamsoft.com
<?php
echo "{BeginD}";
echo date("Y/m/d");
echo "{EndD}";
echo "<br>";
echo "{BeginT}";
echo date("H:i:s");
echo "{EndT}";
?>

* تاریخ و ساعت رو بین دو واژه اختصاصی قرار میدیم که بعدا راحت بتونیم از سورس صفحه تفکیکشون کنیم !

کد های بالا رو کپی کنید تو Note Pad و با هر اسمی که دوست دارید و پسوند .php ذخیره کنید (مثلا datetime.php )، و فایل ذخیره شده رو بر روی هاستتون آپلود کنید .

2 - به دست آوردن سورس صفحه وبی که با PHP نوشته بودیم و بر روی هاست آپلود کرده بودیم ( بنده برای این کار از کنترل Microsoft Internet Transfer استفاده می کنم) ، و جدا کردن تاریخ و ساعت بدست آمده از سورس صفحه :


'www.arshamsoft.com

Option Explicit

Private Sub Command1_Click()

Dim strPageSource As String, strDate As String, strTime As String

Command1.Enabled = False
Command1.Caption = "Please Wait..."

strPageSource = Inet1.OpenURL("http://www.arshamsoft.com/gdate/datetime.php")

strDate = SearchBetween(strPageSource, "{BeginD}", "{EndD}") 'Get Date

strTime = SearchBetween(strPageSource, "{BeginT}", "{EndT}") 'Get Time

MsgBox "Server Date : " & strDate & vbCrLf & "Server Time : " & strTime, vbInformation, "Arshamsoft"

Command1.Enabled = True
Command1.Caption = "Get Server Date And Time"

End Sub

Public Function SearchBetween(IStringStr As String, IBefore As String, IPast As String)
Dim iString As String
iString = IStringStr
iString = Right(iString, Len(iString) - InStr(iString, IBefore) - Len(IBefore) + 1)
iString = Mid(iString, 1, InStr(iString, IPast) - 1)
SearchBetween = iString
End Function



* به جای'http://www.arshamsoft.com/gdate/datetime.php آدرس و نام فایل PHP بر روی هاست هاست خودتون رو بدید .

* از تابع SearchBetween برای پیدا کردن تاریخ و ساعت در سورس صفحه استفاده شده .

سورس کامل برنامه هم ضمیمه شد .

انشاالله برای هم دوستان مفید واقع شده باشه .

موفق و سربلند باشید :لبخندساده:.

setroyd
یک شنبه 06 شهریور 1390, 21:34 عصر
ولی این کار زمانی عملی هست که شما به اینترنت دسترسی داشته باشی .

butterfly8528
یک شنبه 06 شهریور 1390, 22:12 عصر
2- بدست آوردن تاریخ و ساعت یک سرور از طریق اینترنت ،
setroyd عزیز اولا لطفا پست هارو درست بخون که بعدا پست بی محتوی ندی ،
دوما برادر من نمیدونم چرا متوجه نیستید که اینجا یک فروم علمی هست نه یک چت باکس ! لطفا یه نگاه به پست های اخیرتون بندازید ، ببینید چندتا از پست های شما محتوی داره ؟ همش یا تایید و تکذیب پست های دیگران بوده یا اسپم و آف پست !
قبلا با اسپم و آف پست برخورد میشد اما متاسفانه دیگه از این خبر ها نیست !

akbarg64
یک شنبه 06 شهریور 1390, 23:49 عصر
سلام.این هم شمسی.بیشتر واسه یادگیری خودمه. چون شمسی مناسب کارم بود گفتم همین جا بزارم شاید بدرد کسی بخوره.جسارت نباشه.
فایل jalali.php رو اپلود میکنیم و
توی فایل پی اچ پی datetime.php مینویسیم

require_once('jalali.php');
بعدش هم اینجوری جایگذاری میکنیم.مستقیم تاریخ شمسی رو میگیریم.

echo jdate("y/m/d");