PDA

View Full Version : سوال: انتقال و کپی یک فایل از اینترنت به روی هاست Copy File From URL to my site



FirstLine
سه شنبه 12 بهمن 1389, 05:25 صبح
با سلام
یک فایل در یک آدرس مشخص بر رو اینترنت در یک هاست و سرور دیگر هست (http://www.test.com/mysourcefile.zip)و من میخوام در یک صفحه سایت با زدن دکمه ای آن فایل را به مسیر مشخصی در سایت (~/FyFoldre)کپی و منتقل کند.
اگر حجم فایل زیاد باشد مثل 50 مگ آیا روند کار فرق میکند؟
لطفا راهنمایی بفرمایید.
با تشکر

sattaryekta
سه شنبه 12 بهمن 1389, 09:24 صبح
به کمک توابع FTP میتونی.

FirstLine
چهارشنبه 13 بهمن 1389, 16:50 عصر
با سلام
ما به ftp اون آدرس دسترسی نداریم
اگه میشه یه مثال لطف کنید.
با تشکر

عقاب سیاه
پنج شنبه 03 آذر 1390, 16:40 عصر
می دونم تاپیک قدیمیه ولی راهی براش نیست؟

eshpilen
پنج شنبه 03 آذر 1390, 17:59 عصر
فایل 50 مگ و حتی بیشتر رو هم میشه دانلود کرد؛ منتها باید سرور مورد نظر از Resume پشتیبانی بکنه و بعدهم باید حرفه ای باشی و بتونی یه دانلودر بنویسی که فایل رو تکه به تکه دانلود کنه. البته احتمالا از قبل برنامه ای براش نوشته شده باشه!

یا روش دیگه میتونه این باشه که اگر از طریق PHP میتونی به خط فرمان/شل دسترسی داشته باشی از wget استفاده کنی (برنامه ای در سیستم عامل گنو/لینوکس)

عقاب سیاه
پنج شنبه 03 آذر 1390, 18:07 عصر
خوب چیزی نوشته نشده؟

FirstLine
پنج شنبه 03 آذر 1390, 18:18 عصر
با سلام

http://www.eghlid.com/?p=502


<form method="post">
<input name="url" size="50" />
<input name="submit" type="submit" />
</form>
<?php

// maximum execution time in seconds
set_time_limit (24 * 60 * 60);

if (!isset($_POST['submit'])) die();

// folder to save downloaded files to. must end with slash
$destination_folder = '';

$url = $_POST['url'];
$newfname = $destination_folder . basename($url);

$file = fopen ($url, "rb");
if ($file) {
$newf = fopen ($newfname, "wb");

if ($newf)
while(!feof($file)) {
fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 );
}
}

if ($file) {
fclose($file);
}

if ($newf) {
fclose($newf);
}

?>
با تشکر

عقاب سیاه
پنج شنبه 03 آذر 1390, 18:45 عصر
استاد جان واسه ما که ارور داد!!

asonline
پنج شنبه 03 آذر 1390, 21:08 عصر
شاید بشه با استفاده از تابع
copy("source", "destination");
که source آدرس فایل مبدا و destination که آدرس فایل مقصد هست بتوان آن فایل را کپی کرد
اگه توضیحاتم به دردتون خورد لطفا به سایت من یعنی: http://www.yafa.tk/ پیوند بدهید شما هم می توانید در بخش پیوند ها پیوند خود را وارد کنید

persian-boy
جمعه 04 آذر 1390, 11:01 صبح
اینو تست کنید



<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><div align=right><?php
if (isset($_POST['url'])) {
$url=$_POST['url'];
define('BUFSIZ', 4095);
$rfile = fopen($url, 'r');
$lfile = fopen(basename($url), 'w');
while(!feof($rfile))
fwrite($lfile, fread($rfile, BUFSIZ), BUFSIZ);
fclose($rfile);
fclose($lfile);
}

?>
<form method="post" action="">
<input type="submit" value="دانلود"><input type="text" name="url">
</form></div>