اولا باید کانکشن اینترنت رو با یه تابع چک کنی
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
من می خواهم وقتی صفحه لود شد بره و یکسری اطلاعات رو از سایتها بگیره و دیتابیس ذخیره کنه اگه حین دریافت اطلاعات اینترنت قطع شد بیاید از وسط راه اطلاعات رو بگیره منظورم اینه؟
چون می دونم سوالت وابسته است به سوال آپارت و کراول کردن جواب رو مرتبط با همون ها می دم
وقتی داری شروع می کنی لینک 1 رو می خونی و می ری جلو، هر موقع که کارت با لینک 1 تموم شد crawl کردن با موفقیت انجام شد و مطمئن شدی همه چی درسته، لینک 1 رو از اون لیستت حذف می کنی. حالا مهم نیست این لینک تو توی فایله یا تو یه جدول تو دیتابیس.
بعد می ری سراغ لینک بعدی و بازهم اگر کارت با این مورد هم تموم شد لینک 2 رو هم حذف می کنی و در انتها شما 100 تا لینک داشتی و کارت باهاشون تموم شده و الان تو فایل مورد نظر یا جدول دیتابیست دیگه هیچ لینکی باقی نمونده.
اینکار چنتا مزیت داره. اول اینکه به مشکل اولت حل می شه و اگر برنامه ات هم به مشکل بر بخوره، لینک هایی که کارشون تموم شده دیگه تو فایل یا جدول دیتابیست نیست که دوباره کاری بشه.
دومین مزیتی که داره اینه که اگر لینکی به خطا خورد و به هر دلیلی اون شرایطی که شما مد نظرته رو پاس نکرد، از اون لیست حذف نمی شه و می ری سراغ لینک بعدی. اینجا این لینکه باقی مونده و می تونی بگی دوباره امتحان کنه یا بعدا امتحان کنه یا حتی اگر برنامه ات باز و بسته هم شد این لینکه دوباره بررسی می شه.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟