برگزیده های پرشین تولز

مشکل کندی بیش از حد در انتقال فایل به ftp با استفاده از پی اچ پی

farshad-fr4

Registered User
تاریخ عضویت
28 دسامبر 2012
نوشته‌ها
2,034
لایک‌ها
755
محل سکونت
زمین
سلام دوستان من این مشکل رو دارم که وقتی میخوام با پی اچ پی یه فایل رو منتقل کنم (به اف تی پی ) خیلی کند هستش
یعنی برای مثال یه فایل 100 مگی رو حدودا ده دقیقه زمان میبره تا انقال بده (من میخوام فایل های حجم بالا مثلا 2 گیگ رو انتقال بدم که خیلی زمان میبره اگه با این سرعت بخواد پیش بره )


اینم کد هایی که نوشتم
از راهنماییتون پیشاپیش ممنونم
پ.ن: مشکل از سرور هم نیستش چک شده قبلا

PHP:
$ftp_server = "";
$ftp_username="";
$ftp_userpass="";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);

ftp_pasv($ftp_conn, true);           
            
$dir = 'folder';

// get file list of current directory
$file_list = ftp_nlist($ftp_conn, ".");

// try to create directory $dir
if (ftp_mkdir($ftp_conn, $dir) or strpos(var_dump($file_list),"\"".$dir."\""))
  {
  echo "Successfully created $dir";
    
$file = '';//لینک دانلود از سرور سایت منبع
$fileupname="test.mkv";      // اسم فایل در اف تی پی
    
// upload file
if (ftp_put($ftp_conn, $dir.'/'.$fileupname, $file, FTP_ASCII))
  {
  echo "Successfully uploaded $file.";
  }
else
  {
  echo "Error uploading $file.";
  }

 
 
 
  }//end ftp_mkdir
else
  {
  echo "Error while creating $dir";
  }


// close this connection and file handler
ftp_close($ftp_conn);
fclose($fp);
 

tuytoosh

کاربر تازه وارد
تاریخ عضویت
16 آپریل 2016
نوشته‌ها
33
لایک‌ها
11
سن
28
محل سکونت
زنجان
من قبلا با تابع copy فایلهای حدود 100 مگ رو زیر 10 ثانیه منتقل میکردم... احتمالا بستگی به سرور مبدا و مقصد داره... اگه از سایتهای دانلود دارید کپی میکنید احتمالش هست که محدودیت سرعت گذاشته باشن رو سرور...
 

shahapaya

کاربر تازه وارد
تاریخ عضویت
14 آگوست 2016
نوشته‌ها
34
لایک‌ها
6
سن
35
دوست عزیز اگر میخواهید خیلی سریع فایل رو دانلود کنید رو سرور از تابع پاراللر CURL استفاده کنید اف تی پی سرعتش کمه برای این کار شما UDP پیشنهاد میشه .
یا خیلی ساده در سرور مبدا از دستور file_get_contents بهره ببرید .
 

farshad-fr4

Registered User
تاریخ عضویت
28 دسامبر 2012
نوشته‌ها
2,034
لایک‌ها
755
محل سکونت
زمین
دوست عزیز اگر میخواهید خیلی سریع فایل رو دانلود کنید رو سرور از تابع پاراللر CURL استفاده کنید اف تی پی سرعتش کمه برای این کار شما UDP پیشنهاد میشه .
یا خیلی ساده در سرور مبدا از دستور file_get_contents بهره ببرید .
سلام ممنون بابت راهنمایی

اما من هم از file_get_contents استفاده کردم و باز مشکل کندی تو سرعت انتقال داشت
هم از curl استفاده کردم بازم مشکل سرعت داشت (curl split download) هم تست کردم فایده نداشت
بعضی از این هاستینگ های دانلود خودشون یه اسکریپت در اختیار مشتریاشون میزارن برای انتقال فایل با اونا خیلی سریع انتقال پیدا میکنه فایل ها اما با روش هایی ک خودم رفتم سرعت خیلی کنده (یه فیال یک گیگی رو 15 طول میکشه )
اما با اون اسکریپت ها 10 ثانیه هم طول نمیکشه
 
بالا