m_feyz
جمعه 01 دی 1396, 19:05 عصر
با سلام. اسکریپت زیر رو برای آپلود فایل از یک سرور به سرور دیگه استفاده میکنم:
function download_remote($url, $save_path) {
set_time_limit (0);
$f = fopen($save_path, 'w+');
$handle = fopen($url, "rb");
while (!feof($handle)) {
$contents = fread($handle, 8192);
fwrite($f, $contents);
}
fclose($handle);
fclose($f);
}
یه مشکلی که هست اینه که تابع set_time_limit توسط هاست غیر فعال شده. برای همین بعد از 60 ثانیه آپلود متوقف میشه.
تنها راه حلی که به ذهنم رسیده اینه که دوباره این تابع رو فراخوانی کنم به شرطی که عملیات آپلود رو از جایی که متوقف شده بود، ادامه بده نه اینکه از ابتدا شروع کنه. ولی وقتی این کار رو میکنم شروع میکنه به آپلود فایل از ابتدا و مجددا وسط کار متوقف میشه.
از چه طریقی میشه کاری کرد که با فراخوانی مجدد تابع، آپلود رو از جایی که متوقف شده بود، ادامه بده نه این که از ابتدا شروع کنه؟
function download_remote($url, $save_path) {
set_time_limit (0);
$f = fopen($save_path, 'w+');
$handle = fopen($url, "rb");
while (!feof($handle)) {
$contents = fread($handle, 8192);
fwrite($f, $contents);
}
fclose($handle);
fclose($f);
}
یه مشکلی که هست اینه که تابع set_time_limit توسط هاست غیر فعال شده. برای همین بعد از 60 ثانیه آپلود متوقف میشه.
تنها راه حلی که به ذهنم رسیده اینه که دوباره این تابع رو فراخوانی کنم به شرطی که عملیات آپلود رو از جایی که متوقف شده بود، ادامه بده نه اینکه از ابتدا شروع کنه. ولی وقتی این کار رو میکنم شروع میکنه به آپلود فایل از ابتدا و مجددا وسط کار متوقف میشه.
از چه طریقی میشه کاری کرد که با فراخوانی مجدد تابع، آپلود رو از جایی که متوقف شده بود، ادامه بده نه این که از ابتدا شروع کنه؟