آموزش بارگذاری پرونده در PHP

3 سال پیش
آموزش بارگذاری پرونده در PHP

آموزش بارگذاری پرونده در PHP

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش بارگذاری پرونده در PHP خواهیم پرداخت.

می توان از یک اسکریپت PHP با فرم HTML استفاده کرد تا به کاربران امکان بارگذاری پرونده در سرور را بدهد. در ابتدا پرونده ها در یک پوشه موقت بارگذاری می شوند و سپس توسط یک اسکریپت PHP به مقصد مورد نظر منتقل می شوند.

اطلاعات موجود در صفحه phpinfo.php دایرکتوری موقت را که برای بارگذاری پرونده ها به عنوان upload_tmp_dir استفاده می شود ، توصیف می کند و حداکثر اندازه مجاز پرونده هایی که می توانند بارگذاری شوند ، به عنوان upload_max_filesize ذکر شده است. این پارامترها در پرونده پیکربندی PHP php.ini تنظیم شده اند

روند بارگذاری پرونده این مراحل را دنبال می کند –

  • کاربر صفحه ای را که حاوی فرم HTML است شامل پرونده های متنی، دکمه مرور و دکمه ارسال باز می کند.
  • کاربر دکمه مرور را کلیک کرده و فایلی را برای بارگذاری از رایانه محلی انتخاب می کند.
  • مسیر کامل به پرونده انتخاب شده در متن ثبت شده ظاهر می شود و سپس کاربر روی دکمه ارسال کلیک می کند.
  • پرونده انتخاب شده به فهرست موقت موجود در سرور ارسال می شود.
  • اسکریپت PHP که به عنوان کنترل کننده فرم در ویژگی عمل فرم مشخص شده است ، ورود فایل را بررسی می کند و سپس پرونده را در یک فهرست مورد نظر کپی می کند.
  • اسکریپت PHP موفقیت کاربر را تایید می کند.

 

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

یک فایل بارگذاری شده می تواند یک فایل متنی یا یک فایل تصویری یا هر سندی باشد.

ایجاد فرم بارگذاری

کد HTM زیر فرم بارگذاری کننده را ایجاد می کند. این فرم دارای ویژگی متد تنظیم شده بر روی پست و صفت enctype روی داده چند بخشی است

<?php
   if(isset($_FILES['image'])){
      $errors= array();
      $file_name = $_FILES['image']['name'];
      $file_size =$_FILES['image']['size'];
      $file_tmp =$_FILES['image']['tmp_name'];
      $file_type=$_FILES['image']['type'];
      $file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));
      
      $extensions= array("jpeg","jpg","png");
      
      if(in_array($file_ext,$extensions)=== false){
         $errors[]="extension not allowed, please choose a JPEG or PNG file.";
      }
      
      if($file_size > 2097152){
         $errors[]='File size must be excately 2 MB';
      }
      
      if(empty($errors)==true){
         move_uploaded_file($file_tmp,"images/".$file_name);
         echo "Success";
      }else{
         print_r($errors);
      }
   }
?>
<html>
   <body>
      
      <form action="" method="POST" enctype="multipart/form-data">
         <input type="file" name="image" />
         <input type="submit"/>
      </form>
      
   </body>
</html>

 

این نتیجه زیر را ایجاد می کند –

Upload Form

ایجاد اسکریپت بارگذاری

یک متغیر PHP جهانی به نام $ _FILES وجود دارد. این متغیر یک آرایه دو بعدی وابسته است و تمام اطلاعات مربوط به پرونده بارگذاری شده را نگهداری می کند. بنابراین اگر مقدار اختصاص داده شده به ویژگی نام ورودی در فرم بارگذاری پرونده باشد ، PHP پنج متغیر زیر را ایجاد می کند –

  • $ _FILES [‘file’] [‘tmp_name’] – پرونده بارگذاری شده در فهرست موقت وب سرور.
  • $ _FILES [‘file’] [‘name’] – نام واقعی پرونده بارگذاری شده است.
  • $ _FILES [‘file’] [‘size’] – اندازه موجود در بایت فایل بارگذاری شده.
  • $ _FILES [‘file’] [‘type’] – نوع MIME پرونده بارگذاری شده.
  • $ _FILES [‘file’] [‘خطا’] – کد خطای مرتبط با این پرونده بارگذاری شده است.

مثال

در زیر مثال باید تصاویر را بارگذاری کنید و به عنوان اطلاعات پرونده بارگذاری شده نتیجه را ارائه می دهد.

<?php
   if(isset($_FILES['image'])){
      $errors= array();
      $file_name = $_FILES['image']['name'];
      $file_size = $_FILES['image']['size'];
      $file_tmp = $_FILES['image']['tmp_name'];
      $file_type = $_FILES['image']['type'];
      $file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));
      
      $extensions= array("jpeg","jpg","png");
      
      if(in_array($file_ext,$extensions)=== false){
         $errors[]="extension not allowed, please choose a JPEG or PNG file.";
      }
      
      if($file_size > 2097152) {
         $errors[]='File size must be excately 2 MB';
      }
      
      if(empty($errors)==true) {
         move_uploaded_file($file_tmp,"images/".$file_name);
         echo "Success";
      }else{
         print_r($errors);
      }
   }
?>
<html>
   <body>
      
      <form action = "" method = "POST" enctype = "multipart/form-data">
         <input type = "file" name = "image" />
         <input type = "submit"/>
            
         <ul>
            <li>Sent file: <?php echo $_FILES['image']['name'];  ?>
            <li>File size: <?php echo $_FILES['image']['size'];  ?>
            <li>File type: <?php echo $_FILES['image']['type'] ?>
         </ul>
            
      </form>
      
   </body>
</html>

 

این نتیجه زیر را ایجاد می کند –

Upload Script

 

منبع.

 

لیست جلسات قبل آموزش PHP

  1. آموزش PHP
  2. معرفی PHP
  3. آموزش تنظیمات محیط PHP
  4. آموزش نحو PHP
  5. آموزش انواع متغیر در PHP
  6. آموزش انواع ثابت ها در PHP
  7. آموزش انواع عملگرها در PHP
  8. آموزش تصمیم گیری در PHP
  9. آموزش انواع حلقه در PHP
  10. آموزش آرایه ها در PHP
  11. آموزش رشته ها در PHP
  12. آموزش مفاهیم وب در PHP
  13. آموزش روش های  GET & POST در PHP
  14. آموزش Inclusion فایل در PHP
  15. آموزش پرونده ها و I / O در PHP
  16. آموزش توابع در PHP
  17. آموزش کوکی ها در PHP
  18. آموزش جلسات در PHP
  19. آموزش ارسال ایمیل با استفاده از PHP
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه