0

هیچ محصولی در سبد خرید نیست.

طراحی سایت در اصفهان, سئو سایت اصفهان, ساخت سایت اصفهان, طراحی سایت حرفه ای اصفهان, بهینه سازی سایت , بازاریابی و دیجیتال مارکتینگ 09133886881 احمدپور

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

نویسنده پشتیبانی وب یار
امتیاز مطلب
تعداد بازدید 1455
تاریخ بروزرسانی ۱۵ آذر ۱۳۹۹

آپلود فایل در 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.ini در لوکال هاست

 

 

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

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

upload file 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

"امنیت

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

قاعدتا باید فایل آپلود شده توسط کاربر موجود باشد. قطعه کد زیر موجود بودن یا نبودن فایل را بررسی می نماید و در صورت موجود نبودن فایل به کاربر پیغام “فایل موجود نیست “را نمایش می دهد.
// Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}

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

در کد زیر تعیین کرده ایم که اگر فایلی که کاربر آپلود می کند بیشتر از 300KB بود برای آن پیغام “فایل شما بزرگ است” را به نمایش در بیاورد.
// Check file size
if ($_FILES["fileToUpload"]["size"] > 300000) {echo "Sorry, your file is too large.";
$uploadOk = 0;
}

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

در کد زیر بیان کرده ایم که اگر کاربر هر نوع فایلی به جز  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;
}

لذا کد کامل شده ی امنیت به صورت زیر می باشد.
$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 و راهکارهای امنیتی را نشان دهیم. از آنجایی که امنیت سایت با آپلود فایل ممکن است به خطر بیفتد باید فرم‌های آپلود خود را به یک تیم حرفه ایی و کاربلد بسپارید. تیم وب یار آماده‌ی هرگونه کمک رسانی به شما دوستان عزیز در زمینه‌ی طراحی وب سایت و سئو سایت است.

در اینستاگرام هم ما را دنبال کنید!

 

0/5 (0 Reviews)
مطالب مرتبط
انجام کلیه ی تبلیغات کاندیدای شورای شهر و کشور
مطالعه :

انجام تبلیغات کاندیدای شورای شهر استان اصفهان انجام تبلیغات کاندیدای شورای شهر و کشور توسط یکی از حرفه‌ای‌ترین تیم‌های تبلیغات و دیجیتال مارکتینگ استان اصفهان امکان‌پذیر می‌باشد. کاندیداهای محترم شورای شهر می توانند جهت دریافت مشاوره تخصصی و همچنین انجام تبلیغات تخصصی با تیم تبلیغات کاندیداهای شورای شهر و کشور تماس حاصل فرمایند.   خدمات و تبلیغات گسترده ی تیم دیجیتال مارکتینگ وب یار در این زمینه شامل موارد زیر است: ارسال انبوه پیامک های تخصصی، مهندسی اجتماعی و تبلیغاتی به مشاغل و فعالان کسب کار با هدف جذب و ایجاد قشر حمایت کننده بر اساس منطقه خاص ارسال تبلیغات انبوه تخصصی بدون محاسبه هزینه هر ارسال در واتساپ و ایجاد گروه های حمایتی ومدیریت آنها ارسال تبلیغات کاندیدای شورا به شماره ها و آی دی های گروه های تلگرام و کاربران بر اساس منطقه و شهر و افزون افراد بر اساس منطقه مسکونی و شهر به گروه های حمایتی شما کاندیدای محترم شورای شهر و کشور. طراحی وبسایت سریع و سبک برای کاندیداها با هدف پاسخگویی و پرسنال برندینگ چند جانبه با قابلیت استفاده در عرصه های محتلف شرکتی یا شخصی با قیمت مناسب. بررسی روش های تبلیغاتی و سخنرانی و مشاوره برای مردم و همچنین یادگیری روش های بازخورد گیری از تبلیغات اینترنتی برای انتخابات شوراها وب یار یک تیم متشکل از متخصصین دیجیتال مارکتینگ و بازاریابی که […]

تفاوت وب سایت و وب اپلیکیشن چیست ؟
مطالعه :

وب سایت یا وب اپلیکیشن کدام یک انتظارات شما را برآورده می کند؟ تفاوت اصلی چیست و کدام یک بهترین راه حل برای تجارت شما خواهد بود؟ در این مقاله وب یار به بررسی تفاوت وب سایت و وب اپلیکیشن می پردازیم.   وب سایت چیست؟   وب سایت گروهی از صفحات وب قابل دسترسی جهانی است که به هم پیوسته اند و دارای یک نام دامنه واحد هستند. توسط فردی ، تجاری یا سازمانی قابل توسعه و نگهداری است. یک وب سایت در یک وب سرور منفرد یا چندگانه میزبانی می شود.هدف اصلی آن ارائه اطلاعات به کاربران است. در وب سایت ، ما می توانیم متن و پرونده های مختلف چندرسانه ای ، مانند تصاویر یا فیلم ها را پیدا کنیم. چه زمانی به وب سایت نیاز دارید؟ وب سایت یک روش موثر برای ارائه محصولات و خدمات شما است. این می تواند به شما کمک کند: مشتری جدید پیدا کنید بهبود شناخت برند افزایش فروش و درآمد ارائه اطلاعات مهمی مانند: اطلاعات شرکت ، اطلاعات تماس ، لیست قیمت ، پیشنهادات ویژه و .. وب اپلیکیشن چیست؟   وب اپلیکیشن ، نرم افزار یا برنامه ای است که در مرورگر اجرا می شود و از طریق رابط کاربری سرویس خاصی را به کاربر ارائه می دهد. معمولاً به سرور مرکزی متصل می شود تا محتوا را به کاربر […]

همه چیز دربار فیگما
مطالعه :

در زمینه طراحی رابط کاربری نرم افزار های مختلفی وجود دارند که قبلا با آن ها آشنا شده اید در ادامه یه چند مورد خواهیم پرداخت. فیگما یکی از نرم افزار های رابط کاربری است که از آن برای طراحی رابط کاربری وب سایت ها و اپلیکیشن ها استفاده می شود.در این مقاله به بررسی همه چیز درباره فیگما می پردازیم. فیگما چیست؟ همان طور که گفته شد فیگما یک نرم افزار برای طراحی رابط کاربری می باشد. این نرم افزار به صورت یک وب اپ می باشد که در بروزر خود اجرا می کنید. بر خلاف تصور عموم یک وب اپ نمی تواند گرافیک یک وب سایت یا اپلیکیشن را به خوبی و با کیفیت عالی ارائه دهد. اما با رفتن به سایت figma و دیدن امکانات این سایت به این باور می رسید که فیگما ، یکی از قدرتمند ترین نرم افزار های طراحی رابط کار بری می باشد. طریقه دسترسی به نرم افزار فیگما: این نرم افزار را هم می توانید به صورت تحت وب باز و مرورگر خود باز کنید. فقز در هر دو صورت باید سیستم شما به اینترنت متصل باشد.     ویژگی ها: فیگما یک نرم افزار تحت وب گسترده می باشد که ویژگی های بسیار جذابی دارد.اکنون به چند ویژگی این اپلیکیشن بی نظیر اشاره می کنیم. قابلیت استفاده در همه سیستم […]

مطالعه :

اگر قصد راه اندازی فروشگاه آنلاین خود را دارید ، ممکن است به یک دو راهی برخورد کرده باشید: ووکامرس یا پرستاشاپ ؟ هر دو سیستم عامل عالی هستند و هیچ برنده مشخصی وجود ندارد. این انتخاب به ماهیت تجارت آنلاین و قدرت فنی شما بستگی دارد. در این مقاله به مقایسه ووکامرس و پرستاشاپ می پردازیم. ووکامرس چیست؟     ووکامرس یک افزونه تجارت الکترونیکی است که به شما امکان می دهد فروشگاه تجارت الکترونیک را در وب سایت تحت وردپرس راه اندازی کنید. ووکامرس در سال 2011 توسط توسعه دهنده تم WooThemes منتشر شد. بعداً ، در سال 2015 ، توسط Automattic ، شرکت صاحب وردپرس خریداری شد. ووکامرس محبوب ترین پلتفرم تجارت الکترونیکی در جهان است که میلیون ها فروشگاه آنلاین را قدرت می دهد. وردپرس بزرگترین CMS جهان است که بستر مناسبی برای ساخت هر نوع وب سایت است و با چند کلیک می توانید آن را به یک فروشگاه آنلاین زیبا و کاربردی تبدیل کنید. به همین دلیل WooCommerce به عنوان بهترین راه حل تجارت الکترونیکی برای وردپرس در نظر گرفته شده است. هنگام نصب آن ، کلیه ابزارهای لازم برای راه اندازی فروشگاه آنلاین خود را دریافت خواهید کرد. از جمله: گزینه های مختلف حمل و نقل ، محصولات ، سیستم مدیریت سفارش ، گزارش های تجاری و … از آنجا که ووکامرس یک […]

بروزرسانی سایت
مطالعه :

یکی دیگر از مهم ترین کارها برای افزایش سئو و بهبود جایگاه سایت بروزرسانی سایت و محتواهای آن است. برای آنکه بتوانید در میان رقبای خود جایگاه خوبی داشته باشید و کسب و کار اینترنتی موفقی داشته باشید نیاز است که از اهمیت بروزرسانی سایت غافل نشوید. در ادامه چند استراتژی مهم و کاربردی را به شما عزیزان ارائه می کنیم.   بروزرسانی سایت به چه معناست؟ منظور از بروزرسانی در واقع تغییر در محتواها، کلمات کلیدی، لینک ها، بروزرسانی سرور و … است. این کار به معنای از نو طراحی کردن نیست در حقیقت شما با توجه به بازخوردی که از سایت و مخاطبین خود دیده اید یک سری تغییرات در راستای بهبود و رشد سایت تان انجام می دهید. استراتژی بروزرسانی سایت وقت آن رسیده که سایت خود را به روز و همگام با رقبای خود جلو ببرید. برای این کار انجام کارهای زیر الزامی و تا حد زیادی کمک کننده است. 1-بررسی گوگل آنالیتیکس با بررسی گوگل آنالیتیکس شما می توانید رفتار کاربران را به راحتی در سایت خود مشاهده کنید. این که چه صفحه ای محبوبیت بیشتری دارد یا این که کدام صفحه نرخ کلیک بالایی دارد و … با بررسی و آنالیز رفتار کاربران می توانید صفحاتی که نیاز به بروزرسانی دارند را نیز به راحتی کشف کنید.     2-حذف محتواهای قدیمی به مرور […]

مطالعه :

وردپرس همان طور که میدانید یک سیستم مدیریت محتوا بر پایه زبان برنامه نویسی پی اچ پی می باشد. شغل های گوناگونی در زمینه وردپرس وجود دارند. در این مقاله ما به پنج شغل پردرآمد وردپرس می پردازیم.شغل هایی که قرار است در مورد آن ها به شما توضیح دهیم و شما را با آن ها بیش تر آشنا کنیم عبارت اند از: ساخت قالب وردپرس ساخت افزونه اختصاصی برای وردپرس ترجمه افزونه های وردپرس به فارسی مدیریت سایت های وردپرسی مسئول امنیت وردپرس     پنج شغل پردرآمد وردپرس: ساخت قالب وردپرس: یکی از رایج ترین و پر درآمد ترین مشاغل وردپرس ساخت قالب وردپرس می باشد. مراحل ساخت یک قالب طبق مقاله طراحی سایت در اصفهان را برای شما توضیح دادیم. اما کمی بیش تر در مورد آن بخواهیم برای شما توضیح دهیم، بعد از این که بخش ویژوال سایت را تکمیل کردیم، به بخش داینامیک سازی قالب ها میرسیم، در ورد پرس همانطور که گفتیم زبان php استفاده شده است. یک سری توابع به صورت پیشفرض در خود فایل های وردپرس وجود دارند. بخش هایی که می شود را به وسیله توابع آماده، آماده می کنیم. برخی از توابع سفارشی در اصطلاح پست تایپ ها را نیز برای آن ها می نویسیم. در موردپست تایپ ها بیشتر بدانید. پس از این که توابع را پیاده سازی کردید […]

دیدگاه ها

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *