کار با عکس‌ها در 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 بریم مشاهده میکنیم که آن عکسی که انتخاب کرده بودیم برای ما اپلود شده است. در قسمت بعد اپلودر خودمان را کمی کامل تر میکنیم.

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

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

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

حتما برای شما هم پیش آمده که بخواهید متنی طولانی را در صفحه وب خودتان استفاده کنید، ولی این متن طولانی صفحه وب شمارا نازیبا کرده است. یا شاید دیده باشید که در اکثر وبسایت‌ها و وبلاگ‌ها بخشی از متن را نشان میدهند و برای دیدن مطلب کامل برای روی دکمه‌ای به نام “ادامه مطلب” کلیک کنید. در این مقاله و فیلم آموزشی دقیقا میخواهیم نحوه پیاه سازی این قابلیت را با کدهای PHP نمایش بدهیم. برای درک بهتر آموزش فیلم آنرا دانلود کنید، ولی اگر امکان دانلود فیلم برای شما وجود ندارد میتوانید از آموزش متنی استفاده کنید.

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

ساخت فروشگاه اینترنتی با php

آموزش متنی

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

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

$string = "لورم ایپسوم متن ساختگی تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد. کتابهای زیادی در شصت و سه درصد گذشته، حال و آینده شناخت فراوان جامعه و متخصصان را می طلبد تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی و فرهنگ پیشرو در زبان فارسی ایجاد کرد. در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها و شرایط سخت تایپ به پایان رسد وزمان مورد نیاز شامل حروفچینی دستاوردهای اصلی و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.";

این قابلیت را میتوان به 2 صورت پیاه سازی کرد.یک صورت بسیار ساده و یک صورت کامل و کمی پیچیده (البته برای مبتدی‌ها). که به شما قول میدهم با کمی دقت و تمرین از میزان پیچیدگی این کد بشدت کم خواهد شد و شما کاملا به آن تسلط پیدا میکنید. اول بصورت ساده این امکان را پیاده سازی میکنیم.

در کد زیر از تابع substr استفاده کرده ایم و کار این تابع این است که یک رشته را میگیرد و آنرا کوتاه میکند. این تابع 3 پارامتر دریافت میکند:
پارامتر اول : رشته‌ای که میخواهیم کوتاه شود.
پارامتر دوم : این رشته از چندمین کاراکتر کوتاه شود ؟
پارامتر سوم : این رشته چند کاراکتر کوتاه شود ؟
برای مثال در کد زیر ما همان متغیر string بالا را از کاراکتر شماره 0، یعنی همان ابتدای این رشته به مقدار 300 کاراکتر کوتاه میکنیم :

$stringCut = substr($string, 0, 300);

و بعد میتوانیم آنرا چاپ کنیم و در ادامه آن هم یک متن “ادامه مطلب” قرار دهیم و بجای # از لینک مدنظر خودمان استفاده کنیم :

echo $stringCut . "... <a href='#'>ادامه مطلب</a>"

حالا اگر این فایل را در مرورگر باز کنیم مبینیم که فقط 300 کاراکتر از متغیر string برای شما نمایش داده میشود (مانند عکس زیر) و اینکار توسط همان تابع substr انجام شده است.

ساخت فروشگاه اینترنتی با php

یک مشکل !

read-more-p1

شاید تا همینجای کار برای شما کاملا خوب باشد و کارتان را راه بیندازد، ولی میخواهیم کمبی بیشتر پیش بریم و کمی کدمان را حرفه‌ای تر بکنیم. ممکن است در این مثال ما کارکتر شماره 300 دقیقا وسط یک کلمه باشد و یک کلمه را از وسط قطع کند، که این موضوع زیاد برای کسانی که میخواند حرفه‌ای کدنویسی کنند جالب نیست.برای حل این مشکل میتوانیم از تکه کد زیر استفاده کنیم :

$stringCut = substr($string, 0, 300);
echo substr($stringCut, 0, strrpos($stringCut, ' ')) . "... <a href='#'>ادامه مطلب</a>";

در خط یک کد بالا با استفاده از همان تابع substr متغیر string را به 300 کاراکتر محدود و کوتاه کرده‌ایم و در خط دوم دوباره همان مقدار کوتاه شده را کوتاه کردیم ولی اینبار در پارامتر سوم substr گفتیم که تا جایی کوتاه کن که به اولین فاصله برخورد کردی، و همین ترفند ساده برای ما مشکل بریده شدن یک کلمه از وسط را حل میکند :

read-more-p2