1masoud
6 سال پیش توسط 1masoud مطرح شد
3 پاسخ

چطوری میشه برنامه ای نوشت که

چطوری میشه برنامه ای نوشت که اگر اینترنت قطع شد یا ارور داد بگیم از ادامه کار برو جلو (یعنی از اول شروع نکنه به لود شدن یا مثلا از اول دانلود نکن از اونجایی که قطع شد شروع به دانلود کن)


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
0

اولا باید کانکشن اینترنت رو با یه تابع چک کنی

function check_internet_connection($sCheckHost = 'www.google.com') 
{
    return (bool) @fsockopen($sCheckHost, 80);
}

if (check_internet_connection()) {
    echo "online";
}
else {
    echo "offline";
}

بعد برای دانلود با قابلیت resume باید Headers هارو به درستی تنظیم کنی٬ چند مثال در زیر:
https://www.media-division.com/php-download-script-with-resume-option/
https://stackoverflow.com/questions/16267792/download-with-resume
https://gist.github.com/fzerorubigd/3899077


1masoud
تخصص : php,laravel
@masoudproton 6 سال پیش مطرح شد
0

@ali.bayat

من می خواهم وقتی صفحه لود شد بره و یکسری اطلاعات رو از سایتها بگیره و دیتابیس ذخیره کنه اگه حین دریافت اطلاعات اینترنت قطع شد بیاید از وسط راه اطلاعات رو بگیره منظورم اینه؟


سید محمد حسین موسوی
تخصص : FullStack Developer
@SeyedMH.Mosavi 6 سال پیش مطرح شد
0

چون می دونم سوالت وابسته است به سوال آپارت و کراول کردن جواب رو مرتبط با همون ها می دم
وقتی داری شروع می کنی لینک 1 رو می خونی و می ری جلو، هر موقع که کارت با لینک 1 تموم شد crawl کردن با موفقیت انجام شد و مطمئن شدی همه چی درسته، لینک 1 رو از اون لیستت حذف می کنی. حالا مهم نیست این لینک تو توی فایله یا تو یه جدول تو دیتابیس.
بعد می ری سراغ لینک بعدی و بازهم اگر کارت با این مورد هم تموم شد لینک 2 رو هم حذف می کنی و در انتها شما 100 تا لینک داشتی و کارت باهاشون تموم شده و الان تو فایل مورد نظر یا جدول دیتابیست دیگه هیچ لینکی باقی نمونده.
اینکار چنتا مزیت داره. اول اینکه به مشکل اولت حل می شه و اگر برنامه ات هم به مشکل بر بخوره، لینک هایی که کارشون تموم شده دیگه تو فایل یا جدول دیتابیست نیست که دوباره کاری بشه.
دومین مزیتی که داره اینه که اگر لینکی به خطا خورد و به هر دلیلی اون شرایطی که شما مد نظرته رو پاس نکرد، از اون لیست حذف نمی شه و می ری سراغ لینک بعدی. اینجا این لینکه باقی مونده و می تونی بگی دوباره امتحان کنه یا بعدا امتحان کنه یا حتی اگر برنامه ات باز و بسته هم شد این لینکه دوباره بررسی می شه.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام