آموزش آپلود تصویر با php
0 0

آموزش آپلود تصویر با php


آموزش آپلود تصویر با php

در این پست آموزش آپلود تصویر با PHP را برایتان قرار داده ایم.

برای ظاهر برنامه از یک قالب ساده استفاده شده که درک کدهای CSS آن خیلی راحت می باشد.

توضیح کدهای فایل index.php

<html>
<head>
    <meta charset="UTF-8">
    <title>آپلود تصویر</title>
    <link href="style.css" type="text/css" rel="stylesheet">
</head>
<bod>
    <div class="wrapper">
        <div class="header">
            <a href="http://www.iranganj.ir"><img style="margin-top: 20px;margin-right: 30px;" src="logo.png"></a>
        </div>
        <div class="main">
            <div class="sidebar">
                <ul>
                    <li>
                        <a href="index.php">صفحه اصلی</a>
                    </li>
                </ul>
            </div>
            <?php
            $valid_formats = array("jpg", "JPG", "png", "PNG", "gif", "GIF", "bmp", "BMP");
            $max_file_size = 1024 * 100; //100 kb
            $path = "uploads/"; // Upload directory
            if (isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST") {
                if ($_FILES['file_upload']['name'] != "") {
                    $name = $_FILES['file_upload']['name'];
                    $imageInfo = getimagesize($_FILES["file_upload"]["tmp_name"]);
                    $imageWidth = $imageInfo[0];
                    $imageHeight = $imageInfo[1];
                    if ($_FILES['file_upload']['error'] == 0) {
                        if ($_FILES['file_upload']['size'] > $max_file_size) {
                            $str = "حجم تصویر انتخاب شده باید کمتر از 100 کیلوبایت باشد";
                        } elseif (!in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats)) {
                            $str = "فرمت تصویر انتخاب شده مجاز نمی باشد";
                        } elseif ($imageHeight > 200 || $imageWidth > 200) {
                            $str = "اندازه تصویر انتخاب شده باید 200 در 200 باشد";
                        } else { // No error found! Move uploaded files
                            if (move_uploaded_file($_FILES["file_upload"]["tmp_name"], $path . $name)) {
                                $str = "تصویر با موفقیت آپلود شد";
                            }
                        }
                    }
                } else {
                    $str = "شما تصویری را انتخاب نکرده اید";
                }
            }
            ?>
            <div class="content">
                <?php
                if (isset($str)) {
                    echo $str;
                }
                ?>
                <form action="index.php" enctype="multipart/form-data" method="post">
                    <div>
                        <span><label>تصویری برای خودتان انتخاب کنید</label></span>
                        <span><label>اندازه تصویر انتخاب شده باید 200 در 200 باشد</label></span>

                        <div>
                            <input type="file" name="file_upload"/>
                        </div>
                    </div>
                    <br/>

                    <div>
                        <div class="buttons">
                            <button type="submit" name="submit">بارگذاری</button>
                        </div>
                    </div>
                </form>
            </div>
        </div>
        <div class="footer">
            <h4 style="text-align: center;padding: 20px;"><a href="http://www.iranganj.ir">تمامی حقوق متعلق به سایت
                    ایران گنج می باشد</a></h4>
        </div>
    </div>
</bod>
</html>

در این فایل ابتدا یک فرم برای آپلود فایل ایجاد می کنیم که در آموزش های قبلی نحوه ایجاد فرم را یاد گرفتیم و فقط در این قسمت به تفاوت هایی که وجود دارد اشاره می کنیم. اولن تفاوت در تگ فرم می باشد که حتما باید ویژگی enctype مورد نظر را باید برابر multipart/form-data قرار دهیم. همچنین یک تگ input داریم که نوع آن file می باشد چون می خواهیم عمل آپلود را انجام دهیم و نام آن نیز file_upload می باشد و یک دکمه نیز درست کردیم.

حال کدهای php  مورد نظر را توضیح می دهیم.

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

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

دانلود

نویسنده حسین فتحی
گروه مطلب PHP
نوع مطلب سورس کد و آموزش
تاریخ انتشار ۱۳ تیر ۱۳۹۴
منبع ایران گنج
تعداد نظرات ۰
قیمت کاربران عضو سایت
توضیح توجه:
  • زمانی که روی لینک دانلود کلیک می کنید لینک دانلود به مدت 24 ساعت معتبر خواهد بود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

نظر / سوال

Captcha