no-img
فروشگاه اینترنتی فایل 365

انتقال سریع و فوری فایل ها به هاست و سرور با کد PHP


فروشگاه اینترنتی فایل 365
پکیج های آموزشی سایت
اطلاعیه های سایت

ادامه مطلب

ZIP
انتقال سریع و فوری فایل ها به هاست و سرور با کد PHP
zip
مرداد ۲۸, ۱۳۹۸

انتقال سریع و فوری فایل ها به هاست و سرور با کد 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 | AHFgroup </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><?phpif(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>انتقال انجام نشد. بررسی کنید هاست شما پیش نیازها را داشته باشد یا دسترسی پوشه مقصد آپلود فایل ۷۵۵ باشد.</span>';elseecho '<span class=green>فایل با موفقیت به هاست شما منتقل شد. </span>';fwrite($fp, $content);fclose($fp);}?></div>

 

حتما، حتما لطفا بعد از انتقال فایل را پاک کنید.از نظر امنیتی هاست شما در خطر است 🙂



درباره نویسنده

امیرحسینن فلاح 115 نوشته در فروشگاه اینترنتی فایل 365 دارد . مشاهده تمام نوشته های

دیدگاه ها


پاسخی بگذارید