PDA

View Full Version : سوال: آپلود ریموت با قابلیت resume



m_feyz
جمعه 01 دی 1396, 18: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 ثانیه آپلود متوقف می‌شه.
تنها راه حلی که به ذهنم رسیده اینه که دوباره این تابع رو فراخوانی کنم به شرطی که عملیات آپلود رو از جایی که متوقف شده بود، ادامه بده نه اینکه از ابتدا شروع کنه. ولی وقتی این کار رو می‌کنم شروع میکنه به آپلود فایل از ابتدا و مجددا وسط کار متوقف میشه.
از چه طریقی می‌شه کاری کرد که با فراخوانی مجدد تابع، آپلود رو از جایی که متوقف شده بود، ادامه بده نه این که از ابتدا شروع کنه؟

ebibombas1988
جمعه 01 دی 1396, 21:01 عصر
اینجور که معلومه به php.ini دسترسی نداری چون اونجا میتونستی تنظیم کنی
از ini_set هم فکر نکنم بتونی استفاده کنی
یه فایل .htaccess تو همون پوشه ای که این کد وجود داره ایجاد کن و دستور
php_value max_execution_time 1000
وارد کن و سیو کن

m_feyz
شنبه 02 دی 1396, 10:58 صبح
اینجور که معلومه به php.ini دسترسی نداری چون اونجا میتونستی تنظیم کنی
از ini_set هم فکر نکنم بتونی استفاده کنی
یه فایل .htaccess تو همون پوشه ای که این کد وجود داره ایجاد کن و دستور
php_value max_execution_time 1000
وارد کن و سیو کن

متاسفانه این روش هم امتحان کردم جواب نداد.
نمیشه قابلیت resume بهش داد تا وقتی دوباره این دستور رو اجرا می‌کنه از جایی که آپلود متوقف شده بود ادامه بده؟