-
*ضروری*درخواست راهنمائی برای انتقال یک فایل بین دو اکانت در یک سرور
سلام دوستان .
چه طور میشود یک فایل را بین دو هاست با استفاده از کد های php و سرعت و اینترنت سرور انتقال داد ؟
یکسری کدهایی در نت وجود دارد انها را تست میکنیم فایل جابه جا نمی شود !!!!!
راه حلی دوستان دارند ؟ ضروری هست
-
-
June 2nd, 2016 17:59
# ADS
-
عضو انجمن
پاسخ : *ضروری*درخواست راهنمائی برای انتقال یک فایل بین دو اکانت در یک سرور

نوشته اصلی توسط
kianesfahan
سلام دوستان .
چه طور میشود یک فایل را بین دو هاست با استفاده از کد های php و سرعت و اینترنت سرور انتقال داد ؟
یکسری کدهایی در نت وجود دارد انها را تست میکنیم فایل جابه جا نمی شود !!!!!
راه حلی دوستان دارند ؟ ضروری هست
با کد زیر مشکلتون حل میشه
کد PHP:
<?php
copy("http://domain.com/yourfile.zip", "har-esmi-k-delet-mikhad.zip");
?>
پروردگارا مرا فهم ده:: تا متوقع نباشم. دنیا و مردمانش باید مطابق میل من رفتار کنند.
-
-
پاسخ : *ضروری*درخواست راهنمائی برای انتقال یک فایل بین دو اکانت در یک سرور
کد فوق را امتحان کرده ایم اما فایل را منتقل میکنه با سایز 0 کیلوبایت !!!!!!
راهکار دیگری ندارید ؟
-
-
عضو انجمن
پاسخ : *ضروری*درخواست راهنمائی برای انتقال یک فایل بین دو اکانت در یک سرور

نوشته اصلی توسط
kianesfahan
کد فوق را امتحان کرده ایم اما فایل را منتقل میکنه با سایز 0 کیلوبایت !!!!!!
راهکار دیگری ندارید ؟
شما ارور لاگ رو نگاه کن ببینید به کدام تابع گیر میده ممکنه get_browser یا fopen بسته یا غیره فعال باشه.
مورد دیگه ممکنه آدرس مبدا برای دسترسی یوزر اگینت تعریف کرده باشه که باعث میشه اجازه دانلود نده. بهرحال از جای دیگر تست کنید + رعایت مورد بالایی
پروردگارا مرا فهم ده:: تا متوقع نباشم. دنیا و مردمانش باید مطابق میل من رفتار کنند.
-
-
عضو انجمن
پاسخ : *ضروری*درخواست راهنمائی برای انتقال یک فایل بین دو اکانت در یک سرور
اين اسكريپت صد در صد كار مي كنه خودم كار مي كنم باهاش يك كد ساده هست وقتي لينك فايل قرار مي دي داخلش مثلا up.domain.com ايندكس اسكريپت است اپلود مي كنه تو سرور و داخل فايل پوشه اش ذخيره مي كنه نياز به ديتابيس و هيچي ديگه نداره يك كد خيلي ساده مي باشد
ویرایش توسط farshid17 : June 3rd, 2016 در ساعت 11:42
-
-
عضو دائم
پاسخ : *ضروری*درخواست راهنمائی برای انتقال یک فایل بین دو اکانت در یک سرور
کد PHP:
/**
* Copy remote file over HTTP one small chunk at a time.
*
* @param $infile The full URL to the remote file
* @param $outfile The path where to save the file
*/
function copyfile_chunked($infile, $outfile) {
$chunksize = 10 * (1024 * 1024); // 10 Megs
/**
* parse_url breaks a part a URL into it's parts, i.e. host, path,
* query string, etc.
*/
$parts = parse_url($infile);
$i_handle = fsockopen($parts['host'], 80, $errstr, $errcode, 5);
$o_handle = fopen($outfile, 'wb');
if ($i_handle == false || $o_handle == false) {
return false;
}
if (!empty($parts['query'])) {
$parts['path'] .= '?' . $parts['query'];
}
/**
* Send the request to the server for the file
*/
$request = "GET {$parts['path']} HTTP/1.1\r\n";
$request .= "Host: {$parts['host']}\r\n";
$request .= "User-Agent: Mozilla/5.0\r\n";
$request .= "Keep-Alive: 115\r\n";
$request .= "Connection: keep-alive\r\n\r\n";
fwrite($i_handle, $request);
/**
* Now read the headers from the remote server. We'll need
* to get the content length.
*/
$headers = array();
while(!feof($i_handle)) {
$line = fgets($i_handle);
if ($line == "\r\n") break;
$headers[] = $line;
}
/**
* Look for the Content-Length header, and get the size
* of the remote file.
*/
$length = 0;
foreach($headers as $header) {
if (stripos($header, 'Content-Length:') === 0) {
$length = (int)str_replace('Content-Length: ', '', $header);
break;
}
}
/**
* Start reading in the remote file, and writing it to the
* local file one chunk at a time.
*/
$cnt = 0;
while(!feof($i_handle)) {
$buf = '';
$buf = fread($i_handle, $chunksize);
$bytes = fwrite($o_handle, $buf);
if ($bytes == false) {
return false;
}
$cnt += $bytes;
/**
* We're done reading when we've reached the conent length
*/
if ($cnt >= $length) break;
}
fclose($i_handle);
fclose($o_handle);
return $cnt;
}
استفاده :
کد PHP:
copyfile_chunked('http://somesite.com/somefile.jpg', '/local/path/somefile.jpg');
منبع :
http://stackoverflow.com/questions/4...w-memory-usage
اینم خوبه :
http://stackoverflow.com/a/6409494
ویرایش توسط Rezash : June 3rd, 2016 در ساعت 11:51
-
-
پاسخ : *ضروری*درخواست راهنمائی برای انتقال یک فایل بین دو اکانت در یک سرور

نوشته اصلی توسط
farshid17
اين
اسكريپت صد در صد كار مي كنه خودم كار مي كنم باهاش يك كد ساده هست وقتي لينك فايل قرار مي دي داخلش مثلا up.domain.com ايندكس
اسكريپت است اپلود مي كنه تو سرور و داخل فايل پوشه اش ذخيره مي كنه نياز به ديتابيس و هيچي ديگه نداره يك كد خيلي ساده مي باشد
سپاس فراوان دوست عزیز اما روش استفاده ازش ؟
- - - Updated - - -

نوشته اصلی توسط
Rezash
کد PHP:
/**
* Copy remote file over HTTP one small chunk at a time.
*
* @param $infile The full URL to the remote file
* @param $outfile The path where to save the file
*/
function copyfile_chunked($infile, $outfile) {
$chunksize = 10 * (1024 * 1024); // 10 Megs
/**
* parse_url breaks a part a URL into it's parts, i.e. host, path,
* query string, etc.
*/
$parts = parse_url($infile);
$i_handle = fsockopen($parts['host'], 80, $errstr, $errcode, 5);
$o_handle = fopen($outfile, 'wb');
if ($i_handle == false || $o_handle == false) {
return false;
}
if (!empty($parts['query'])) {
$parts['path'] .= '?' . $parts['query'];
}
/**
* Send the request to the server for the file
*/
$request = "GET {$parts['path']} HTTP/1.1\r\n";
$request .= "Host: {$parts['host']}\r\n";
$request .= "User-Agent: Mozilla/5.0\r\n";
$request .= "Keep-Alive: 115\r\n";
$request .= "Connection: keep-alive\r\n\r\n";
fwrite($i_handle, $request);
/**
* Now read the headers from the remote server. We'll need
* to get the content length.
*/
$headers = array();
while(!feof($i_handle)) {
$line = fgets($i_handle);
if ($line == "\r\n") break;
$headers[] = $line;
}
/**
* Look for the Content-Length header, and get the size
* of the remote file.
*/
$length = 0;
foreach($headers as $header) {
if (stripos($header, 'Content-Length:') === 0) {
$length = (int)str_replace('Content-Length: ', '', $header);
break;
}
}
/**
* Start reading in the remote file, and writing it to the
* local file one chunk at a time.
*/
$cnt = 0;
while(!feof($i_handle)) {
$buf = '';
$buf = fread($i_handle, $chunksize);
$bytes = fwrite($o_handle, $buf);
if ($bytes == false) {
return false;
}
$cnt += $bytes;
/**
* We're done reading when we've reached the conent length
*/
if ($cnt >= $length) break;
}
fclose($i_handle);
fclose($o_handle);
return $cnt;
}
استفاده :
کد PHP:
copyfile_chunked('http://somesite.com/somefile.jpg', '/local/path/somefile.jpg');
منبع :
http://stackoverflow.com/questions/4...w-memory-usage
اینم خوبه :
http://stackoverflow.com/a/6409494
دوست عزیز لطف میکنید روش استفاده ازش را هم بفرمائید ؟
-
-
عضو انجمن
پاسخ : *ضروری*درخواست راهنمائی برای انتقال یک فایل بین دو اکانت در یک سرور

نوشته اصلی توسط
kianesfahan
سپاس فراوان دوست عزیز اما روش استفاده ازش ؟
- - - Updated - - -
دوست عزیز لطف میکنید روش استفاده ازش را هم بفرمائید ؟
در یک فایل با extension پی اچ پی و بین تگ php قرار دهید.
یعنی یک فایل بسازید به نام : dl.php حالا کد های مربوطه را بین تگ php قرار دهید. به این صورت:
کد:
<?php
محل قرار گیری کد ها
?>
ویرایش توسط Z.eus : June 3rd, 2016 در ساعت 12:26
-
-
پاسخ : *ضروری*درخواست راهنمائی برای انتقال یک فایل بین دو اکانت در یک سرور
با سلام
از این اسکریپت استفاده کنید
http://forum.mihanhost.co/topic/9-%D...7%DB%8C%D9%84/
یا اگر نشد باید از Cron Job استفاده کنید با دستور wget که فایل رو مستقیم دانلود می کنه بدون هیچ اسکریپتی
از اون اسکریپت استفاده کنید در صورت حل نشدن مشکل پست دهید تا آموزش کرون جابز تقدیم شود
-
-
June 3rd, 2016, 13:07
#10
عضو انجمن
پاسخ : *ضروری*درخواست راهنمائی برای انتقال یک فایل بین دو اکانت در یک سرور

نوشته اصلی توسط
kianesfahan
سپاس فراوان دوست عزیز اما روش استفاده ازش ؟
- - - Updated - - -
دوست عزیز لطف میکنید روش استفاده ازش را هم بفرمائید ؟
دوست این اسکریپت در هاست تتون اپلود می کنید یک فایل کم حجم در یک پوشه مثل up می ریزد (domain.com/up)یا ساب دامین(up.domain.com) بعد در صفحه مرورگر این باز می کنید و لینک از سرور دیگه رو واردش می کنید و دکمه رو فشار می دهید صفجه به لود تبدیل میشه دست به صفحه نزدنید صفحه کامل لود شود دوبار مثل صفحه اول اسکریپت تبدیل بشود
و فایل تو چقدر حجم دارد
و اینکه می تونید دسترسی بدید براتون انجام میشه ولی کارش ساده هست
-