تالار گفتمان nCIS.ir

نسخه‌ی کامل: انتقال بین سروری با قابلیت resume
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام.
من برای انتقال بین سروری از این کد زیر استفاده میکنم.اما مثلا از یه فایل 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!';
?> 

ABZiko

چرا از تابع copy استفاده نمی کنید؟ خیلی راحتتره ...
این توابع (copy و امثال اون) در زمان کار با فایلهای راه دور، به شرطی کار میکنن که allow_url_fopen فعال باشه توی سرور که توی اکثر هاستهای اشتراکی بنا به دلایل امنیتی بسته است.
قابلیت resume رو نمیدونم ولی من با کد زیر 8 گیگ فایل رو در پارتهای 1 یا 2 گیگ بدون مشکل بین سرور انتقال دادم.
set_time_limit(0);

file_put_contents("file.zip", fopen("http://domain.com/file.zip", 'r'));