PDA

View Full Version : آپلود فایل از URL به Host



IamOverlord
دوشنبه 05 تیر 1391, 12:36 عصر
سلام دوستان...
وقتی مثلا با این کد:


<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);

echo $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);
}

?>

یه فایلی رو از یه URL ای به Host ام آپلود می کنم، باید یه مدتی صبر کنم... حالا می خوام این زمان صبر کردن کم بشه یا این که کد آپلود فایل روی سرور بدون توجه به حضور من اجرا بشه و بتونم پنجره ی مرورگر رو ببندم... کلا راهی هست که کارمون آسون تر بشه؟!

Tarragon
دوشنبه 05 تیر 1391, 16:04 عصر
آقا در باره ی مشکلتون نمی دونم اما فانکشن copy فکر می کنم بهتر باشه .
PHP: copy - Manual (http://php.net/manual/en/function.copy.php)

ayub_coder
دوشنبه 05 تیر 1391, 16:30 عصر
خوب منتظر موندن طبیعیه و بستگی به حجم فایلی که دانلود می کنید داره. ولی اگه بخواید صفحه ای را بدون باز کردن توی مرور گر اجرا کنید بهتره از مفسر خود پی اچ پی و ConJobs استفاده کنید. خوبیش اینه که می تونی توش زمان بندی بدی. بعنی بگی هر ساعت یا دقیقه صفحه تو اجرا کنه.

IamOverlord
دوشنبه 05 تیر 1391, 17:32 عصر
یعنی نمی شه سایتی ساخت که کاربر بره تو آدرس فایل رو بده و وقتی اومد بیرون فایل همچنان خودش آپلود بشه؟!

ayub_coder
دوشنبه 05 تیر 1391, 18:09 عصر
یکی از راههاش همونیه که گفتم.استفاده از کرون جابز. شما میای یک صف از فایلهای دانلودی درست میکنی. وقتی کاربر فایلی واسه دانلود گذاشت همون لحظه دانلود نشه. بره تو صف. از اون ور کرون صفحه ی مربوط به صف ها رو اجرا می کنه و فایلهای شما شروع به دانلود میشه. پس از پایان دانلود شما می تونی به کاربر یه ایمیل بده که فایل به روی سرور ما دانلود شد. و لینک هم براش بفرستی.