انتقال سریع و فوری فایل ها به هاست و سرور با کد PHP
کد تخفیف در جریان devme1397 %10 تا آخر پاییز97

آپلود کردن فایل در هاست یکی از مشکلاتی است که اغلب کاربران ایرانی به دلیل نداشتن سرعت کافی از آن رنج می برند. دریافت فایل و صرف حجم اینترنت و زمان از یک طرف، و آپلود کردن آن فایل در هاست هم از طرف دیگر در دو طرف این مشکل وجود دارند.

وبمسترانی که اینترنت با حجم محدود دارند که این مشکل دو چندان خواهد شد. اما یکی از قابلیت هایی که سرورها دارند این است که سرعت اینترنت به کار رفته در آنها بسیار زیاد است و تقریبا برای آپلود کردن یک فایل با حجم نسبتا بزرگ را نیز پاسخگوست. پس چرا از این قابلیت استفاده نکنیم؟

Transfer Files to filemanager Host with PHP

روش استفاده از این قابلیت سرورها به این صورت است که فایل ها را بین سرورها منتقل می کنیم. دقت داشته باشید که ما تنها قادر خواهیم بود فایل هایی که به صورت آنلاین وجود دارند و البته لینک آنها مستقیم است را توسط این روش انتقال دهیم. با این کار نیازی نخواهد بود فایل های بزرگی مانند فیلم، موزیک، نرم افزارها، اسکریپت ها و … که نیاز است ابتدا در کامپیوتر شخصی خودمان دانلود و مجددا در هاست آپلود کنیم را با سختی و صرف زمان و هزینه زیاد به سایتمان منتقل کنیم. بنابراین اگر آن فایل مورد نظر دارای یک لینک مستقیم بود، می توانیم توسط سرعت زیاد اینترنت سرورمان، به فایل منیجر هاست خود منتقل کنیم.

نکته ضروری: تنها در صورتی که تابع file_get_contents() روی سرور (هاست) شما فعال باشد می توانید از این روش استفاده کنید. همچنین در برخی از سرورها به تابع fopen() هم نیاز می شود. ولی تقریبا اکثر هاستینگ ها این دو تابع را برای هاست های اشتراکی فعال می کنند. مانند طلاهاست.

 


روش انجام کار بسیار آسان است:

  1. ابتدا در فایل منیجر هاست خود، یک فایل با نام دلخواه و پسوند PHP ایجاد کنید. (مثال: get.php)
  2. کدهای زیر را بدون تغییر داخل فایل جدیدتان قرار داده و فایل را ذخیره نمایید.
  3. اکنون فایل را در مرورگر اجرا کنید. (اگر فایل را در پوشه public_html ساخته باشید، برای اجرای فایل، آدرس را به صورت http://domain.ltd/get.php وارد کنید.)
  4. پس از اجرای فایل، دو فیلد ورودی متنی خواهید داشت. در فیلد “آدرس کامل فایل” شما باید یک لینک مستقیم از فایل مورد نظر را وارد کنید. (مثال: http://site.ltd/files/example.zip) این فایل نیز باید به صورت آنلاین باشد نه در کامپیوتر شخصی خودتان. و در فیلد دوم، یعنی “مسیر ذخیره فایل” هم آدرسی در فایل منیجر هاستتان را ورد نمایید تا فایل جدید در آن مکان ساخته شود. معمولا آدرس پیش فرض در این فیلد، همان مکانی است که فایل get.php در آنجا وجود دارد.
  5. پس از تکمیل این فیلدها، روی کلید “انتقال فایل” کلیک کرده و تا اتمام انتقال فایل صبر کنید. به دلیل سرعت بالای اینترنت سرور، این عملیات به سرعت انجام خواهد شد. مگر اینکه توابع ضروری برای اینکار در سرور شما غیرفعال باشد.

 

کد PHP برای ساخت فایل انتقال دهنده فایل:

<title>Transfer Files | Devme.ir </title>
<meta http-equiv=Content-Type content='text/html; charset=utf-8' />
<style>
.red{color:red;font-weight:bold;}
.green{color:green;font-weight:bold}
span{display:block;padding:2px;}
a{text-decoration:none;color:darkorange;font-family:tahoma;font-size:8pt;text-shadow:1px 1px 0 rgb(250,250,250)}
</style>
<form method=post action=<?php echo basename(__FILE__);?>>
<div style='direction:rtl;font-family:tahoma;font-size:8pt;margin:0 auto; padding:25px; width:800px;color:gray'>
آدرس کامل فایل : <input name=addr type=text dir=ltr size=100 value='http://' ><br>
مسیر ذخیره فایل : <input name=dir type=text dir=ltr size=100 value="<?php echo dirname(__FILE__)?>/" >
<input type=hidden name=ok value=ok >
<br><br>
<input type=submit style='background:#FFF;border:1px solid gray;font-family:tahoma' value='انتقال فایل' />
</form>
<?php
if(isset($_POST['ok'])){
$content = file_get_contents(trim($_POST['addr']));
@mkdir($_POST['dir'].'/', 0755);
$fp = fopen($_POST['dir'].basename($_POST['addr']), "wb");
if (!$fp)
echo '<span class=red>انتقال انجام نشد. بررسی کنید هاست شما پیش نیازها را داشته باشد یا دسترسی پوشه مقصد آپلود فایل 755 باشد.</span>';
else
echo '<span class=green>فایل با موفقیت به هاست شما منتقل شد. </span>';
fwrite($fp, $content);
fclose($fp);
}
?>
</div>

 

نکات ضروری:

این فایل توانایی انتقال هر فایلی به هاست شما را دارد. اکیدا پیشنهاد می کنیم، پس از اتمام انتقال فایل های مورد نیاز به فایل منیجر، این فایل را به طور کامل از هاست خود حذف نمایید. چرا که هکران خواهند توانست فایل های مخرب را توسط این فایل، به فایل منیجر شما منتقل نمایند.

درصورتی که برای انجام فعالیت های سایت خود مانند آپلود فایل ها در هاست دانلود به این فایل و دستور نیاز دارید، حتما این فایل را توسعه داده و برای دسترسی به آن از رمزعبورهای قدرتمندی استفاده کنید.

نمونه های مشابه چنین دستوراتی ممکن است با امنیت بالاتر در سطح اینترنت موجود باشد، لذا در صورتی که قصد دارید به صورت بلندمدت از این دستور استفاده کنید، حتما از جایگزین های این کد با امنیت بالاتر استفاده نمایید.

هنوز دیدگاهی ارسال نشده! نظر شما چیست؟

دیدگاه شما درباره این صفحه چیست؟