آموزش آپلود فایل در php

آخرین بروز رسانی: بهمن ۱۹, ۱۳۹۶

برای خواندن کامل مطلب به سایت سر بزنید . آنجا کد ها و تصوایر کاملا خوانا ترند !
https://www.webyar.net/

آپلود فایل در php

معمولا در بعضی از سایت ها لازم می شود که فرمی را در سایت تعبیه نموده که توسط آن کاربران بتوانند فایل های مورد نظر خود را در سایت آپلود نمایند ( از جمله آپلود فایل رزومه ، عکس و…). حال قبل از آموزش آپلود فایل در php و کدنویسی فرم ارسال فایل لازم است که ابتدا مطمئن شوید که تنظیمات آپلود فایل در php فعال است. برای این کار اول باید فایل php.ini  را بررسی نمایید و file_uploads  را  به حالت on قرار دهید. روش دسترسی به فایل php.ini در لوکال هاست و cpanel در ادامه آموزش داده شده است.

 

آموزش آپلود فایل در phpآموزش آپلود فایل در php

 

Php.ini  در لوکال هاست (نرم افزار Xamp)

این فایل در وب سرور Xampp با توجه به نسخه های مختلف ، عموما در مسیر های زیر وجود دارد:

\xampp\php\php.ini
\xampp\apache\bin\php.ini
\xampp\etc\php.ini

 

آپلود فایل در php

کد آپلود فایل در php

Php.ini در سی پنل

برای آپلود فایل در php توسط cpanel ابتدا لازم است فایل phpinfo.php را دانلود و در قسمت public html  آپلود نمایید.سپس در url  مرورگر خود پس از وارد نمودن آدرس سایت خود اسم فایل phpinfo.php  را نیز بعد از آن بنویسید. یعنی:

http://your-domain.com/phpinfo.php

اینک در قسمت Loaded Configuration File مسیر فایل php.ini نمایش داده شده است که شما می توانید به این مسیر بروید و file_uploads را on  کنید.

کد فرم html  برای آپلود فایل در php

ابتدا یک فایل html  یا  php  ایجاد نمایید و قطعه کد زیر را در آن قرار دهید.

 

<form action="upload.php" method="post" enctype="multipart/form-data">     Select image to upload:     <input type="file" name="fileToUpload" id="fileToUpload">     <input type="submit" value="Upload " name="submit"> </form>

 

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

درون تگ input ، مشخصه type را برابر file قرار داده ایم تا اعلام کنیم که نوع ورودی، به صورت فایل می باشد. بنابراین درون فرم، یک دکمه browse به کاربر نمایش داده می شود تا با آن بتواند فایل مورد نظر را از کامپیوتر خود انتخاب نماید.

upload file php

آموزش آپلود کردن فایل در فرم php

 

کدنویسی قسمت php

فایل upload.php  را ایجاد کنید و قطعه کد زیر را در آن قرار دهید.

 

$  target_dir = "uploads/"; $  target_file = $  target_dir . basename($  _FILES["fileToUpload"]["name"]); $  uploadOk = 1; $  imageFileType = strtolower(pathinfo($  target_file,PATHINFO_EXTENSION)); // Check if image file is a actual image or fake image if(isset($  _POST["submit"])) {     $  check = getimagesize($  _FILES["fileToUpload"]["tmp_name"]);     if($  check !== false) {         echo "File is an image - " . $  check["mime"] . ".";         $  uploadOk = 1;     } else {         echo "File is not an image.";         $  uploadOk = 0;     } }

 

توضیحاتی در مورد کد بالا

$ target_dir = “uploads/” دایرکتوری که فایلها در آن ذخیره می شوند را مشخص میکند.

$ target_file   مسیر فایل آپلود شده را مشخص می نماید.

$ imageFileType پسوند فایل را نگه میدارد.

$ _FILES[“fileToUpload”][“name”] نام اصلی فایل در سمت کاربر را در خود دارد.

$ _FILES[“fileToUpload”][“size”]سایز فایل رابه بایت نمایش می دهد.

$ _FILES[“fileToUpload”][“tmp_name”] نام فایل موقت را دارد.

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

امنیت در آپلود فایل در php

امنیت در فرم آپلود فایل در php

امنیت در فرم آپلود فایل در php

بررسی موجود بودن فایل از قبل

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

 

// Check if file already exists if (file_exists($  target_file)) {     echo "Sorry, file already exists.";     $  uploadOk = 0; }

 

محدود کردن سایز فایل

در کد زیر تعیین کرده ایم که اگر فایلی که کاربر آپلود می کند بیشتر از ۳۰۰KB بود برای آن پیغام “فایل شما بزرگ است” را به نمایش در بیاورد.

 

// Check file size if ($  _FILES["fileToUpload"]["size"] > 300000) {     echo "Sorry, your file is too large.";     $  uploadOk = 0; }

 

محدود کردن نوع فایل

در کد آپلود فایل در php زیر بیان کرده ایم که اگر کاربر هر نوع فایلی به جز  GIF, JPG, JPEG, PNG را آپلود نمود برای او پیغام خطا نمایش داده شود.

 

// Allow certain file formats if($  imageFileType != "jpg" && $  imageFileType != "png" && $  imageFileType != "jpeg" && $  imageFileType != "gif" ) {     echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";     $  uploadOk = 0; }

 

لذا کد کامل شده ی امنیت در آپلود فایل در php به صورت زیر می باشد.

 

$  target_dir    = "uploads/"; $  target_file   = $  target_dir . basename( $  _FILES["fileToUpload"]["name"] ); $  uploadOk      = 1; $  imageFileType = strtolower( pathinfo( $  target_file, PATHINFO_EXTENSION ) ); // Check if image file is a actual image or fake image if ( isset( $  _POST["submit"] ) ) { $  check = getimagesize( $  _FILES["fileToUpload"]["tmp_name"] ); if ( $  check !== false ) { echo "File is an image - " . $  check["mime"] . "."; $  uploadOk = 1; } else { echo "File is not an image."; $  uploadOk = 0; } } // Check if file already exists if ( file_exists( $  target_file ) ) { echo "Sorry, file already exists."; $  uploadOk = 0; } // Check file size if ( $  _FILES["fileToUpload"]["size"] > 500000 ) { echo "Sorry, your file is too large."; $  uploadOk = 0; } // Allow certain file formats if ( $  imageFileType != "jpg" && $  imageFileType != "png" && $  imageFileType != "jpeg"      && $  imageFileType != "gif" ) { echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; $  uploadOk = 0; } // Check if $  uploadOk is set to 0 by an error if ( $  uploadOk == 0 ) { echo "Sorry, your file was not uploaded."; // if everything is ok, try to upload file } else { if ( move_uploaded_file( $  _FILES["fileToUpload"]["tmp_name"], $  target_file ) ) { echo "The file " . basename( $  _FILES["fileToUpload"]["name"] ) . " has been uploaded."; } else { echo "Sorry, there was an error uploading your file."; } }

 

استفاده از کد کپچا

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

 

نتیجه گیری

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

نوشته آموزش آپلود فایل در php اولین بار در طراحی سایت اصفهان | سئو سایت اصفهان پدیدار شد.

طراحی سایت اصفهان | سئو سایت اصفهان

پربازدیدترین اخبار
طراحی سایت

طراحی سایت در اصفهان   طراحی سایت و سئو سایت در اصفهان   تیم طراحی سایت و سئو سایت وب یار به آدرس ، بامجوز رسمی از نظام کامپیوتر کشور و دارای نماد اعتماد و نماد ساماندهی و با ۱۶ سال دانش تخصصی در زمینه طراحی وب سایت , سئو سایت در گوگل ، ارسال […]

دانلود رام رسمی هواوی وای ۶ (Huawei Y6) مدل SCl-U31 و SCL-L21 با لینک مستقیم دانلود و آموزش اختصاصی نصب در این پست ارائه میشود. هواوی Y6 محصول ۲۰۱۵ کمپانی چینی در ادامه مسیر سری Y پا به بازار گذاشت و توانست فروش خوبی را نیز تجربه کنید. این گوشی با صفحه نمایش ۵ اینچی […]

واحد خبر mobile.ir : شرکت سامسونگ الکترونیکس در روز چهارشنبه ۲۴ می ۲۰۱۷ (۳ خرداد ۱۳۹۶) در جریان نشست سالانه نیمه‌رساناهای سامسونگ (Samsung Foundry Forum) نقشه راه جامع خود را در زمینه نیمه‌رساناها برای چند سال آینده با مشتریان و شرکای تجاری در میان گذاشت. به گفته سامسونگ این برنامه در راستای طراحی و … […]

دانلود رام رسمی و فایل فلش برای تبلت گلکسی تب اس ۲ نسخه ۹٫۷ (Galaxy Tab s2 9.7) اینچی مدل  SM-T815 LTE 4G با اندروید ۷ نوقا + آموزش نصب گلکسی tab s2 ورژن ۹٫۷ اینچی ازتبلت های قدرتمند بازار است که هنوز هم که هنوزه پشتیبانی سامسونگ را به خود میبیند و از این رو هنوز […]

اخیرا شایعاتی درباره عرضه نسخه جدیدی از سری بازی ها بسیار پر طرفدار Assassins Creed به بیرون نشت کرده است. این شایعات در خلال کنفرانس E3 بسیار شدت گرفت چرا که جزئیات بیشتری از بازی های مختلف عرضه شد. یکی از جذابیت های نسخه جدید این بازی به نام Assassins Creed Origins این مبحث است که اعضای تیم […]