آموزش بارگذاری پرونده در PHP
آموزش بارگذاری پرونده در PHP
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش بارگذاری پرونده در PHP خواهیم پرداخت.
می توان از یک اسکریپت PHP با فرم HTML استفاده کرد تا به کاربران امکان بارگذاری پرونده در سرور را بدهد. در ابتدا پرونده ها در یک پوشه موقت بارگذاری می شوند و سپس توسط یک اسکریپت PHP به مقصد مورد نظر منتقل می شوند.
اطلاعات موجود در صفحه phpinfo.php دایرکتوری موقت را که برای بارگذاری پرونده ها به عنوان upload_tmp_dir استفاده می شود ، توصیف می کند و حداکثر اندازه مجاز پرونده هایی که می توانند بارگذاری شوند ، به عنوان upload_max_filesize ذکر شده است. این پارامترها در پرونده پیکربندی PHP php.ini تنظیم شده اند
روند بارگذاری پرونده این مراحل را دنبال می کند –
- کاربر صفحه ای را که حاوی فرم HTML است شامل پرونده های متنی، دکمه مرور و دکمه ارسال باز می کند.
- کاربر دکمه مرور را کلیک کرده و فایلی را برای بارگذاری از رایانه محلی انتخاب می کند.
- مسیر کامل به پرونده انتخاب شده در متن ثبت شده ظاهر می شود و سپس کاربر روی دکمه ارسال کلیک می کند.
- پرونده انتخاب شده به فهرست موقت موجود در سرور ارسال می شود.
- اسکریپت PHP که به عنوان کنترل کننده فرم در ویژگی عمل فرم مشخص شده است ، ورود فایل را بررسی می کند و سپس پرونده را در یک فهرست مورد نظر کپی می کند.
- اسکریپت PHP موفقیت کاربر را تایید می کند.
طبق معمول هنگام نوشتن پرونده ها، لازم است مجوزهایی برای نوشتن پرونده ها برای مکان های موقتی و نهایی تنظیم شوند. اگر تنظیم شود که هر یک فقط خواندنی باشد ، فرایند شکست می خورد.
یک فایل بارگذاری شده می تواند یک فایل متنی یا یک فایل تصویری یا هر سندی باشد.
ایجاد فرم بارگذاری
کد HTM زیر فرم بارگذاری کننده را ایجاد می کند. این فرم دارای ویژگی متد تنظیم شده بر روی پست و صفت enctype روی داده چند بخشی است
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
<?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> |
این نتیجه زیر را ایجاد می کند –
ایجاد اسکریپت بارگذاری
یک متغیر PHP جهانی به نام $ _FILES وجود دارد. این متغیر یک آرایه دو بعدی وابسته است و تمام اطلاعات مربوط به پرونده بارگذاری شده را نگهداری می کند. بنابراین اگر مقدار اختصاص داده شده به ویژگی نام ورودی در فرم بارگذاری پرونده باشد ، PHP پنج متغیر زیر را ایجاد می کند –
- $ _FILES [‘file’] [‘tmp_name’] – پرونده بارگذاری شده در فهرست موقت وب سرور.
- $ _FILES [‘file’] [‘name’] – نام واقعی پرونده بارگذاری شده است.
- $ _FILES [‘file’] [‘size’] – اندازه موجود در بایت فایل بارگذاری شده.
- $ _FILES [‘file’] [‘type’] – نوع MIME پرونده بارگذاری شده.
- $ _FILES [‘file’] [‘خطا’] – کد خطای مرتبط با این پرونده بارگذاری شده است.
مثال
در زیر مثال باید تصاویر را بارگذاری کنید و به عنوان اطلاعات پرونده بارگذاری شده نتیجه را ارائه می دهد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
<?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> |
این نتیجه زیر را ایجاد می کند –
لیست جلسات قبل آموزش PHP
- آموزش PHP
- معرفی PHP
- آموزش تنظیمات محیط PHP
- آموزش نحو PHP
- آموزش انواع متغیر در PHP
- آموزش انواع ثابت ها در PHP
- آموزش انواع عملگرها در PHP
- آموزش تصمیم گیری در PHP
- آموزش انواع حلقه در PHP
- آموزش آرایه ها در PHP
- آموزش رشته ها در PHP
- آموزش مفاهیم وب در PHP
- آموزش روش های GET & POST در PHP
- آموزش Inclusion فایل در PHP
- آموزش پرونده ها و I / O در PHP
- آموزش توابع در PHP
- آموزش کوکی ها در PHP
- آموزش جلسات در PHP
- آموزش ارسال ایمیل با استفاده از PHP
دیدگاه شما