0

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

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

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

نویسنده شیما قطره سامانی
امتیاز مطلب
آموزش آپلود فایل در php
4 (80%) 1 vote[s]
تعداد بازدید 123
تاریخ بروزرسانی ۱۹ بهمن ۱۳۹۶

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

 

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

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

 

// 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
4 (80%) 1 vote[s]
مطالب مرتبط
افزونه نمایش تمامی توابع وردپرسی
مطالعه :

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

افزونه چت واتساپ whats app وردپرس
مطالعه :

افزونه چت واتساپ تیم پشتیبانی | پلاگین WhatsApp Chat WordPress افزونه چت تيم پشتيباني با واتساپ در وردپرس به شما اين امکان را مي‌دهد که تجربيات لذت‌بخش چت کردن در واتساپ را در سايتتان پياده‌سازي کنيد. اين‌يکي از بهترين روش‌هاي ارتباط و ارتباط با مشتري است، شما مي‌توانيد به‌طور مستقيم کاربران سايت را پشتيباني کرده و همچنين در ذهن مشتري ايجاد اعتماد و وفاداري کنيد.موقعيت هاي مختلف نمايش افزونه چت واتساپ تيم پشتيباني شما مي‌توانيد در موقعيت مختلف سايت وردپرسي خود از پشتيبانان آنلاين خود استفاده کنيد. نمايش در ويجت هاي قالب: افزونه چت واتساپ تيم پشتيباني | پلاگين WhatsApp Chat WordPres نمايش در صفحات محصول ساخته‌شده در ووکامرس افزونه چت واتساپ تيم پشتيباني | پلاگين WhatsApp Chat WordPress دکمه‌هاي سفارشي و شورت کدها افزونه چت واتساپ تيم پشتيباني | پلاگين WhatsApp Chat WordPress واضح تر ببينيد : افزونه چت واتساپ تيم پشتيباني | پلاگين WhatsApp Chat WordPress امکانات بي‌نظير افزونه چت واتساپ تيم پشتيباني اين افزونه حساب‌هاي چندگانه را پشتيباني مي‌کند: به شما اجازه ميدهد که تلفن واتساپ تمام کارمندان خود را بصورت شکيل و دريک باکس درکنار هم قرار بدهيد. کارمندان شما با هر پست يا سمتي که در شرکت شما دارند براي بازديدکنندگان وب‌سايت قابل‌مشاهده هستند و مشتري با هر شخص يا بخشي که دوست دارد مي‌تواند در واتساپ چت و گفتگو نمايد. بازديدکنندگان با تنظيمات سفارشي […]

مگا منو mega menu سبک و سریع
مطالعه :

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

استایل و زیبا سازی سبد فروش edd وردپرس
مطالعه :

استایل و زیبا سازی سبد فروش edd وردپرس به وسیله فایل زیر میتوانید افزونه قدرتمند easy download digital  را زیبا کنین و استایل زیبایی به اون بدین و فروشتون را چند برابر کنین: فرم ارسال آسان دیجیتال فرم پرداخت بسیار آسان است! کنترل کامل از یک ظاهر طراحی شده با گزینه های مختلف و پیش نمایش زنده زمانی که شما را تغییر دهید. این افزونه نیاز به پلاگین دانلود Easy Digital Downloads دارد. Easy Digital Downloads یک راه حل کامل تجارت الکترونیک برای فروش محصولات دیجیتال در وردپرس است. شروع : این 6 مرحله ساده را برای ساخت فرم های زیبا دنبال کنید. مرحله # 1: → نصب / فعال کردن دانلود آسان دیجیتال. دریافت آسان دیجیتال دانلود مرحله 2: → ایجاد دانلودها و انتشار آنها. مرحله 3: → یک صفحه ایجاد کنید که در آن می توانید از کد کوتاه استفاده کنید [download number = “12” column = “4”]. مرحله 4: → به صفحه پرداخت که میخواهید سبک بروید بروید. مرحله 5: → حالا، این صفحه را مشاهده کنید و روی لینک «سفارشی کردن» در نوار مدیریت WordPress در بالای صفحه کلیک کنید. مرحله 6: → مشاهده و باز کردن Checkout Styler برای پانل EDD و سفارشی کردن صفحه پرداخت خود را. این همه! تعداد ستاره های خود را از این مطلب از چپ به راست انتخاب نمایید

طراحی ست اداری شرکت بازرگانی ایراکو
مطالعه :

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

طراحی ست اداری شرکت آواسنگ
مطالعه :

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

دیدگاه ها

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

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