کار با عکس‌ها در PHP و ساخت یک آپلودر بسیار ساده – قسمت دوم

کار با عکس ها یکی از مباحث جذاب در برنامه‌نویسی PHP است که متاسفانه آموزش خوبی وب فارسی برای آن وجود ندارد. در این 2 قسمت آموزشی برای یادگیری همه چیز کار با عکس ها یک اپلودر بسیار ساده میسازیم تا بوسیله‌ی آن بتوانیم عکس‌های خودمان را از کامپیوترمان آپلود کنیم و روی سرور بفرستیم. همچنین این آپلودر امکان نمایش آخرین عکس‌های اپلود شده را نیز دارد.
ما در این آموزش برای این اپلود سنتر از یک دیتابیس هم استفاده کردیم، که شما میتوانید با توجه به نیاز خودتان اینکار یا انجام بدهید یا ندهید.

dl-btnدانلود قسمت 2 این آموزش با کیفیت بالا و کاملا واضح (حجم 19 مگ)dl-btn

آموزش متنی

نکته مهم : آموزش‌های ویدئویی قطعا بسیار کامل تر از آموزش‌های متنی هستند و اگر قادر به دانلود آموزش ویدئویی هستید، حتما اینکار را انجام دهید، چون در آن بصورت بسیار کامل و با جزئیات همه موارد را توضیح داده‌ایم.

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

$getImages = mysqli_query($db, "SELECT * FROM images");

و باز برمیگردیم به فایل index.php و میخواهیم از این متغیر getImages در یک while استفاده کنیم. ولی حتما حواستان باشد که در ابتدای فایل index.php حتما با دستور require_once فایل uploader.php را لود کرده باشید تا بتوانیم از کدهای آن استفاده کنیم.

با استفاده از حلقه‌ی while زیر میتوانیم هر سطر از جدول images را یکبار در ارایه‌ی row قرار دهیم و آنرا در یک عکس چاپ کنیم :

 <?php while ($row = mysqli_fetch_array($getImages)) { ?>
    <img src="images/<?php echo $row['image_name'] ?>" alt="<?php echo $row['image_name'] ?>" width="80" height="80">
<?php } ?>

در خط 2 یک تگ img را باز میکنیم تا بتوانیم عکس ها را نمایش دهیم. برای آدرس دهی عکس در اتریبیوت src ابتدا نام پوشه‌ی images را مینویسیم و سپس نام عکس که آنرا از دیتابیس دریافت کرده‌ایم. به این صورت میتوانیم عکس‌ها را نمایش دهیم.

نکته مهم : آموزش‌های ویدئویی قطعا بسیار کامل تر از آموزش‌های متنی هستند و اگر قادر به دانلود آموزش ویدئویی هستید، حتما اینکار را انجام دهید، چون در آن بصورت بسیار کامل و با جزئیات همه موارد را توضیح داده‌ایم.

برای مشاهده و دانلود قسمت اول این آموزش کلیک کنید

کار با عکس‌ها در PHP و ساخت یک آپلودر بسیار ساده – قسمت اول

کار با عکس ها یکی از مباحث جذاب در برنامه‌نویسی PHP است که متاسفانه آموزش خوبی وب فارسی برای آن وجود ندارد. در این 2 قسمت آموزشی برای یادگیری همه چیز کار با عکس ها یک اپلودر بسیار ساده میسازیم تا بوسیله‌ی آن بتوانیم عکس‌های خودمان را از کامپیوترمان آپلود کنیم و روی سرور بفرستیم. همچنین این آپلودر امکان نمایش آخرین عکس‌های اپلود شده را نیز دارد.
ما در این آموزش برای این اپلود سنتر از یک دیتابیس هم استفاده کردیم، که شما میتوانید با توجه به نیاز خودتان اینکار یا انجام بدهید یا ندهید.

dl-btnدانلود قسمت 1 این آموزش با کیفیت بالا و کاملا واضح (حجم 30 مگ)dl-btn

آموزش متنی

نکته مهم : آموزش‌های ویدئویی قطعا بسیار کامل تر از آموزش‌های متنی هستند و اگر قادر به دانلود آموزش ویدئویی هستید، حتما اینکار را انجام دهید، چون در آن بصورت بسیار کامل و با جزئیات همه موارد را توضیح داده‌ایم.

برای ساخت یک اپلودر اول باید یکف فایل بسازیم با نام index.php و بعد درون آن form بسازیم و بعد داخل آن یک input از جنس file را قرار دهیم و همینطور دکمه‌ای را از جنس submit داشته باشیم. ولی هرگز 2 اتریبیوت(Attribute) مهم تگ form را فراموش نکنید.

اتریبیوت action که وقتی فرم submit شد اطلاعات فرم را به فایل uploader.php میفرستد و اتریبیوت enctype که مقدار آن باید برابر multipart/form-data باشد، تعیین میکند که این فرم قصد دارد یک چیزی از جنس file را بفرستد.اگر اتریبیوت enctype را ننویسید اپلودر شما به کلی غلط کار میکند.

<form action="uploder.php" method="post" enctype="multipart/form-data">
    <input type="file" name="image"><br>
    <input type="submit" name="uploadImage" value="آپلود عکس">
</form>

با اینکار اطلاعات فرم را به فایل uploader.php میفرستیم. در آن فایل ابتدا با دیتابیس ارتباط برقرار میکنیم که به دیتابیس مربوط به این پروژه که نامش image_uploader هست، متصل میشویم:

$db = mysqli_connect('localhost', 'root', '', 'image_uploader');

در مرحله‌ی بعد توسط کد زیر تست میکنیم که آیا formـی با نام uploadImage تعریف شده است یا خیر، که اگر در صفحه‌ی فرم روی دکمه‌ی “آپلود عکس” کلیک کرده باشیم، این فرم تعریف میشود و کدهای درون شرط if زیر اجرا خواهد شد:

if (isset($_POST['uploadImage'])) {
    $image = $_FILES['image']['name'];
    $imageTmp = $_FILES['image']['tmp_name'];
    move_uploaded_file($imageTmp, "images/$image");
    $insertImageToDb = mysqli_query($db, "INSERT INTO images (image_name) VALUES ('$image')");
    header("Location: index.php");
}

در خط دوم و سوم اسم عکس اپلود شده را در متغیر image و خود عکس اپلود را در متغیر imageTmp ذخیره میکنیم. در خط چهارم عکسی که در متغیر imageTmp ذخیره کرده بودیم را توسط تابع move_uploaded_file به پوشه‌ی images منتقل میکنیم و اسم فایل را دقیقا برابر اسم خود عکس قرار میدهیم.

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

حالا اگر به همان فایل index.php بریم و عکسی را انتخاب کنیم و روی دکمه‌ی “آپلود عکس” کلیک کنیم، مشاهده میکنیم که صفحه یکبار refresh میشود و اگر به فولدر images بریم مشاهده میکنیم که آن عکسی که انتخاب کرده بودیم برای ما اپلود شده است. در قسمت بعد اپلودر خودمان را کمی کامل تر میکنیم.

نکته مهم : آموزش‌های ویدئویی قطعا بسیار کامل تر از آموزش‌های متنی هستند و اگر قادر به دانلود آموزش ویدئویی هستید، حتما اینکار را انجام دهید، چون در آن بصورت بسیار کامل و با جزئیات همه موارد را توضیح داده‌ایم.

برای مشاهده و دانلود قسمت دوم این آموزش کلیک کنید