PDA

View Full Version : تغییر محتوی فایل در ساعت24



.fatemeh
شنبه 21 خرداد 1390, 10:23 صبح
سلام.
یه فایل متنی دارم می خوام ساعت که 24 شد یعنی اصطلاحا فردا که اومد محتوی فایل تغییر کنه.
خودم اومدم ساعت سیستم رو گرفتم و توی شرط چک کردم برابر00:00 هست یانه.کار می کنه ولی حتما باید
در ساعت 00:00 یکی سایت رو باز کنه.اگه 11:59 بازبشه توی شرط نیست و اگه 00:01 هم بازبشه توی
شرط نیست.
به نظرتون چه بایدکرد؟؟؟

r0ot$harp
شنبه 21 خرداد 1390, 11:35 صبح
دوست عزیز شما باید از CRON لینوکس استفاده کنید ..


باتشکر احسان

.fatemeh
شنبه 21 خرداد 1390, 11:42 صبح
من با ویندوز کار می کنم و هاستم هم ویندوزه .با لینوکس هم آشنایی ندارم. نمی شه با کد php انجامش داد؟

r0ot$harp
شنبه 21 خرداد 1390, 11:47 صبح
دوست عزیز :


http://www.nncron.ru/download.shtml
http://cronw.sourceforge.net/
http://www.kalab.com/freeware/pycron/pycron.htm
http://www.setcronjob.com/account/register


باتشکر احسان

.fatemeh
شنبه 21 خرداد 1390, 12:24 عصر
شرمنده ، گفتم با لینوکس آشنایی ندارم. از لینک ها هم چیزی متوجه نشدم.
نمی شه واضح تر راهنمایی کنید؟

r0ot$harp
شنبه 21 خرداد 1390, 13:27 عصر
شرمنده ، گفتم با لینوکس آشنایی ندارم. از لینک ها هم چیزی متوجه نشدم.
نمی شه واضح تر راهنمایی کنید؟
برنامه هایی که معرفی کردم برای شبیه سازی Cron در ویندوز با Peython بودن .

برای اینکه راحتر کنم کارتون رو تو گوگل بزنین : cron run windows

باتشکر احسان

MMSHFE
یک شنبه 22 خرداد 1390, 07:57 صبح
با سلام، يك راه راحتتر هم دارين:
همونطور كه احتمالاً ميدونيد، توي PHP ميشه با كمك تابع filemtime تاريخ آخرين تغيير رو در فايل محاسبه كرد:


echo date('Y/m/d', filemtime('test.txt'));

حالا شما در ابتداي اسكريپتهاي PHP خودتون اين دستورات رو بنويسيد:


date_default_timezone_set('Asia/Tehran');
if(date('Y/m/d')!=date('Y/m/d',filemtime('test.txt')))
{
//modify the test.txt file here
}

يعني اينكه اگه تاريخ امروز با تاريخ آخرين ويرايش فايل test.txt فرق داشته باشه، توي بلاك if تغييرات دلخواه رو روي فايل اعمال كنيد. طبيعتاً اين كد اولين باري كه در طول يك روز سايت بازديد ميشه اجرا ميشه و بعد از اون، تا پايان روز چون تاريخ ايجاد فايل با تاريخ امروز يكسان هست، ديگه فايل تغيير نميكنه.
موفق باشيد.

.fatemeh
یک شنبه 22 خرداد 1390, 08:24 صبح
خیلی ممنون. درست شد.

r0ot$harp
یک شنبه 22 خرداد 1390, 15:21 عصر
با سلام، يك راه راحتتر هم دارين:
همونطور كه احتمالاً ميدونيد، توي PHP ميشه با كمك تابع filemtime تاريخ آخرين تغيير رو در فايل محاسبه كرد:


echo date('Y/m/d', filemtime('test.txt'));

حالا شما در ابتداي اسكريپتهاي PHP خودتون اين دستورات رو بنويسيد:


date_default_timezone_set('Asia/Tehran');
if(date('Y/m/d')!=date('Y/m/d',filemtime('test.txt')))
{
//modify the test.txt file here
}

يعني اينكه اگه تاريخ امروز با تاريخ آخرين ويرايش فايل test.txt فرق داشته باشه، توي بلاك if تغييرات دلخواه رو روي فايل اعمال كنيد. طبيعتاً اين كد اولين باري كه در طول يك روز سايت بازديد ميشه اجرا ميشه و بعد از اون، تا پايان روز چون تاريخ ايجاد فايل با تاريخ امروز يكسان هست، ديگه فايل تغيير نميكنه.
موفق باشيد.

ببینید این کاری که شما می گین برای Cron واقعا کاری بی استفاده هست . چون اصولا کار Cron این هست که طی ساعتی خاص کاری رو انجام بده . این جوری که شما بخواین فایل رو اجرا کنید و بعد چک کنید ببینید شرط برقرار هست اصلا کار درستی نیست . چون شاید در اون ساعت اصلا کسی تو سایت نیومد !!!

باتشکر احسان

MMSHFE
دوشنبه 23 خرداد 1390, 06:52 صبح
با سلام، دوست گرامي، اين كدي كه من نوشتم براي وقتي هست كه اصلاً Cron نداريم! مثل سرورهاي ويندوز. با وجود Cron كه خيلي راحت ميشه در ساعت زماني مشخص شده، يك اسكريپت رو اجرا كرد. توسط كدي كه گفتم، در اولين بازديد يك سايت در يك روز (هر ساعتي كه باشه)، فايل Update ميشه و بعد از اون ديگه تا پايان روز، تغيير نميكنه.
موفق باشيد.

r0ot$harp
دوشنبه 23 خرداد 1390, 13:43 عصر
والا برای سرور های ویندوز بهترین کار استفاده از Scheduled Tasks هست . طوری که شما یه Task ایجاد کنید و Action اون رو فایل مورد نظر قرار بدین .

در ضمن برای ویندوز از یه سری برنامه که در بالا معرفی کردم هم استفاده می شه که تحت Python هستن .

باتشکر احسان

MMSHFE
شنبه 28 خرداد 1390, 08:25 صبح
دوست گرامي، ايشون كه VPS يا سرور اختصاصي ندارن يا روي لوكال كه نميخوان كار كنن كه به Scheduled Tasks دسترسي داشته باشن. حقيقتش من شخصاً تا به حال با سرورهاي ويندوزي كه كار كردم، هيچ كدوم اين دسترسي رو فراهم نميكردن. نميدونم، شايد هم چنين سروري باشه و من خبر ندارم. در هر حال، كدي كه گذاشتم، در شرايطي كه دسترسي به Cron Jobs (در لينوكس) يا Scheduled Tasks (در ويندوز) نداريم، كار درخواست شده رو به خوبي انجام ميده و فكر نميكنم مشكلي هم ازنظر بهينگي داشته باشه.
موفق باشيد.

r0ot$harp
شنبه 28 خرداد 1390, 10:36 صبح
دوست گرامي، ايشون كه VPS يا سرور اختصاصي ندارن يا روي لوكال كه نميخوان كار كنن كه به Scheduled Tasks دسترسي داشته باشن. حقيقتش من شخصاً تا به حال با سرورهاي ويندوزي كه كار كردم، هيچ كدوم اين دسترسي رو فراهم نميكردن. نميدونم، شايد هم چنين سروري باشه و من خبر ندارم. در هر حال، كدي كه گذاشتم، در شرايطي كه دسترسي به Cron Jobs (در لينوكس) يا Scheduled Tasks (در ويندوز) نداريم، كار درخواست شده رو به خوبي انجام ميده و فكر نميكنم مشكلي هم ازنظر بهينگي داشته باشه.
موفق باشيد.
بله دقیقا کد شما بسیار عالی بود .

اما به نظر بنده آدم باید از اول یک راه رو درست بره . شمایی که می خواین سایت رو بیارین بالا رو لوکال که نمی تونین ؟؟؟؟ در ضمن رو لوکال هم 100% جواب می ده . شما فقل آدرس فایل رو می دین خودش همش اونو اجرا می کنه . به جای فایل URL اجرا می کنه .

باتشکر احسان