ساخت کوتاه کننده لینک با PHP به صورت Ajax - نسخهی قابل چاپ +- انجمن عمومی گسترش فناوری آگو (http://forums.ago.ir) +-- انجمن: انجمن های عمومی گسترش فناوری آگو (/forumdisplay.php?fid=1) +--- انجمن: برنامه نویسی (/forumdisplay.php?fid=13) +--- موضوع: ساخت کوتاه کننده لینک با PHP به صورت Ajax (/showthread.php?tid=2269) |
ساخت کوتاه کننده لینک با PHP به صورت Ajax - agotd - 12-31-2013 04:50 PM به احتمال زیاد تا به حال به سایتهایی برخوردید که یک لینک بزرگ میگیرن و به یک لینک کوچیک تبدیلش میکنن.سایتهایی مثل tinyurl.com , bit.ly و … . در این پست میخوام آموزش ساخت کوتاه کننده لینک به وسیله PHP به صورت ای جکس رو آموزش بدم.امیدوارم به دردتون بخوره. دیتابیس این پروژه رو میسازیم : کد php: CREATE TABLE IF NOT EXISTS `urls` ( بعد از ساخت دیتابیس بالا در فایل config.php کدهای زیر رو بنویسید و مقدار دهی کنید : کد php: <?php حب برای ساخت لینکهای کوتاه و ذخیره در دیتابیس کلاسی مینوسیم به نام UrlShortener که در زیر به توضیح کلاس میپردازیم : این کلاس ۶ متد داره و از کتابخانه PDO برای اتصال با Mysql استفاده میکنه : کد php: <?php در متد سازنده یک شیء از کلاس pdo ساختیم و رشته اتصال به دیتابیس رو بهش پاس دادیم. متد createShortCode : این متد یک رشته به صورت تصادفی ایجاد میکنه اگر رشته در دیتابیس بود یکی دیگه میسازه و برمیگردونه. متد validUrl : یک url میگیره و فرمت url رو چک میکنه در صورت صحیح بودن true بر میگردونه. متد existInDb : این متد یک url میگیره و چک میکنه که آیا در دیتابیس ذخیره شده یا خیر متد insertInDb : این متد هم url مورد نظر رو میگیره . ابتدا چک میکنه اگر در دیتابیس وجود داشت لینک کوتاهش رو برمیگردونه اگر نبود لینک رو به دیتابیس اضاضه میکنه و لینک کوتاه رو برمیگردونه. متد getUrl : این متد کد کوتاه شده رو میگیره و آدرس مربوط رو برمیگردونه متد addCount : این هم به اضای هر بازدید از آدرس ها یکی به تعداد فیلد visits اضافه میکنه. در فایل index.php فقط قسمت کدهای jquery رو توضیح میدم. کد php: <script src="js/jquery.min.js"></script> در این قسمت هنگامی که کلید ارسال فرم کلیک میشه یک درخواست به صورت post به صفحه shortener.php ارسال میشه و جواب این درخواست با فرمت json دریافت میشه. دستور e.preventDefault برای جلوگیری از ارسال فرم هنگام کلیک روی دکمه submit فرم میباشد. فایل shortebner.php کد php: <?php در این فایل هم روال کار بسیار ساده است.ابتدا فایل مربوط به تنظیمات رو include کردیم.سپس یک شیء از کلاس UrlShortener ایجاد کردیم . سپس آدرس URL رو در دیتابیس ذخیره میکنیم و نتیجه رو با فرمت json نمایش میدیم. تا اینجا یک لینک از کاربر گرفتیم . برای این لینک یک کد کوتاه ساختیم و در دیتابیس ذخیره کردیم.حالا برای اینکه کاربر بتونه با کلیک رو لینک به url اصلی بره یک فایل با نام goto.php میسازیم و کدهای زیر رو داخلش مینویسیم : کد php: <?php در این فایل کد کوتاهی که در متغیر $_GET['url'] قرار گرفته رو در دیتابیس پیدا میکنیم و URL مربوط به این کد رو از دیتابیس میخونیم.در نهایت با دستور header صفحه رو به url مورد نظر انتقال میدیم .در صورتی که کد کوتاه در دیتابیس وجود نداشته باشه صفحه ۴۰۴ به کاربر نمایش داده میشه. بعد از ایجاد فایل goto.php که در مرحله قبل انجام شد یک فایل .htaccess میسازیم تا به جای آدرس : دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید. آدرسهایی با فرمت زیر داشته باشیم : دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید. پس از ساخت فایل htaccess کدهای زیر رو داخلش بنویسید : کد php: RewriteEngine on در این آموزش سعی کردم مطالب رو به سرعت بگم چون تقریبا تمام مباحثی که توی این آموزش بود رو قبلا در موردش حرف زدیم و یادگرفتیم.فقط جاهایی که نیاز به توضیح داشت رو توضیح دادم اگر جایی رو متوجه نشدید یکی دوبار کدهارو بالا و پایین کنید دستتون میاد چیکار کردیم.اگر هم سوال داشتید که توی کامنتها بپرسید. |