0

سبد خرید شما خالی است.

طراحی سایت در اصفهان, سئو سایت اصفهان, طراحی سایت فروشگاهی , شرکت طراحی سایت اصفهان, طراحی حرفه ای سایت اصفهان, بهینه سازی سایت , بازاریابی و تبلیغات اینترنتی

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

نویسنده شیما قطره سامانی
امتیاز مطلب
تعداد بازدید 210
تاریخ بروزرسانی ۱۹ بهمن ۱۳۹۶

آپلود فایل در 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

 

"
    Select image to upload:
    <input type=

 

این قطعه کد ابتدا یک فرم آپلود ایجاد نموده و سپس اطلاعات موردنظر خود را به فایل 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

"امنیت

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

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

 

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

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

 

مطالب مرتبط
منوی Edit فتوشاپ
مطالعه : 8دقیقه

منوی Edit فتوشاپ پس از یادگیری منوی file فتوشاپ به سراغ منویEdit می رویم، همانطور که از نام این منو پیدا است منوی Edit فتوشاپ برای ویرایش می باشد و کاربرد های جالب و کاربردی در منوی Edit فتوشاپ وجود دارد، گزینه هایی مانند بازگشت،حذف،کپی،رنگ کردم،ساخت عکس،تغییر رنگ ها و موارد بسیار دیگری وجود دارد که به صورت مختصر و مفید به توضیح آن برای آسان شدن بیشتر راه اندازی کسب و کار اینترنتی پرداختیم.   – Undo Delete Layar : برای برگرداندن آخرین عملیات انجام شده استفاده می شود. – Step Forward: به وسیله این گزینه عملیات لغو شده توسط step back ward برگردانده می شود. – Step Backward: با کمک این گزینه می توان به تعداد معینی از عملیات را لغو نمود. – Feda: این گزینه بعد از استفاده از ابزار brush برای میزان غلظت و نوع مد آن استفاده می شود. – Cut: بعد از انتخاب یک قسمت با ابزار انتخاب می توان با این فرمان آن قسمت را برش داد. – Copy: مانند فرمان cut باید قسمتی انتخاب شود و با این فرمان می توان یک کپی از قیمت انتخابی داشت. – Copy Special: مانند فرمان قبل عمل می کند با این تفاوت که زمانی که آن را در جایی paste می نمایید بر روی همان لایه نمی ماند و لایه جدیدی ایجاد می کند. – […]

انتخابگرها - CSS Selectors
مطالعه : 7 دقیقه

معرفی انتخابگر ها در CSS   همانطور که می دانید برای استایل دادن به المان های صفحه وب در فایل CSS، ابتدا باید المان HTML مورد نظر را با استفاده از انتخابگر های CSS مشخص کنیم؛ اما گاهی انتخاب کردن ها دشوار می شود و معلوم نیست اشکال کدنویسی از کجا ناشی شده است. تیم طراحی سایت اصفهان وب یار، نحوه ی انتخاب دقیق و سریع المان های HTML را در این مقاله آموزش می دهد که امیدواریم مورد استفاده شما برنامه نویسان و نوآموزان خوش آتیه قرار بگیرد.   لیست انتخابگرها (CSS Selectors List)   نوع انتخابگر مثال توضیح .class .Buttons همه المان هایی که کلاس Buttons دارند را انتخاب می کند .class1.class2 <div class=”name1 name2″>…</div> همه المان هایی که هر دو کلاس name1 و name2 را دارند، انتخاب می کند .class1 .class2 <div class=”name1″> <div class=”name2″> … </div> </div> همه المان هایی که کلاس name1 را دارند و از نوادگان المانی با کلاس  name2 هستند را انتخاب می کند #id #unique المانی با “id=”unique را انتخاب می کند * * همه المان ها را انتخاب می کند element p همه پاراگراف ها را انتخاب می کند element,element div, p همه <div> ها و همه <p> ها را انتخاب می کند element element div p همه پارگراف های داخل همه <div> ها را انتخاب می کند element>element div > […]

آموزش کار با ابزار slice tools فتوشاپ | اسلایز-تولز
مطالعه : 7دقیقه

  آموزش کار با ابزار slice tools فتوشاپ   اسلایس بخش های مختلف تصویر و شروع به تبدیل سایت ابزار slice tools  یکی از مهم ترین و کاربردی ترین ابزارها در فتوشاپ است که بسیار زیاد مورد استفاده کدنویسان و برنامه نویسان عزیز قرار می گیرد و در طراحی قالب ورد پرس نیز کاربرد زیادی دارد. به عنوان مثال زمانی که شما می خواهید تصاویر موجود از یک طرح را کات کنید و در جاهای مختلف طرح تان مانند: آیکون ها، بک گراندها ، پترن ها و…. استفاده کنید. ابزار slice tools خیلی به کارتان می آید که در چندین مرحله و با چند کلیک ساده انجام می شود. در ادامه آموزش کار با ابزار slice tools را آموزش می دهیم.   روش استفاده از ابزار slice tools : روش استفاده از ابزار tools slice به این شکل است که ابتدا ابزار را انتخاب کرده و یک نقطه از تصویر را مشخص می نمایید و کلید موس خود را پایین نگه داشته (چپ کلیک کنید!) و نقطه دوم مورد نظر خود را انتخاب می کنید، سپس کلیک را رها کرده (چپ کلیک) تا این محدوده به عنوان محدوده ی برش شده انتخاب گردد. حال اگر خواستید می توانید چندین محدوده را به همین طریقی که گفته شد مشخص نمایید. سپس از گزینه فایل (file) ،گزینه save as for web را […]

نقش فیلد ها در طراحی سایت
مطالعه : 5 دقیقه

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

مطالعه :

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

معرفی ساختار و اجزای وب سایت
مطالعه : 6 دقیقه

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

دیدگاه ها

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

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