رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
انتقال بین سروری با قابلیت resume
#1
سلام.
من برای انتقال بین سروری از این کد زیر استفاده میکنم.اما مثلا از یه فایل 800 مگ فقط 500تاشو انتقال میده.
نمیشه کاری کرد قابلیت resume بهش اضاف کرد و کاری کرد همشو انتقال بده؟

<?php
$path = 'file.rar';
$url = 'http://www.site.com/file.rar';
$newfname = $path;
echo 'Starting Download!';
$file = fopen ($url, "rb");
if($file) {
$newf = fopen ($newfname, "wb");
if($newf)
while(!feof($file)) {
fwrite($newf, fread($file, 1024 * 50 ), 1024 * 50 );
echo '1 MB File Chunk Written!
';
}
} if($file) {
fclose($file);
}
if($newf) {
fclose($newf);
}
echo 'Finished!';
?> 
پاسخ
تشکر شده توسط:
#2
چرا از تابع copy استفاده نمی کنید؟ خیلی راحتتره ...
[عکس: v5dveblcrbgx.png]
پاسخ
تشکر شده توسط:
#3
این توابع (copy و امثال اون) در زمان کار با فایلهای راه دور، به شرطی کار میکنن که allow_url_fopen فعال باشه توی سرور که توی اکثر هاستهای اشتراکی بنا به دلایل امنیتی بسته است.
پاسخ
تشکر شده توسط:
#4
قابلیت resume رو نمیدونم ولی من با کد زیر 8 گیگ فایل رو در پارتهای 1 یا 2 گیگ بدون مشکل بین سرور انتقال دادم.
set_time_limit(0);

file_put_contents("file.zip", fopen("http://domain.com/file.zip", 'r'));
...
پاسخ
تشکر شده توسط: saeed




کاربران در حال بازدید این موضوع: 1 مهمان