آموزش : ساخت یک انتقال دهنده لینک ساده با php
جمعه, ۱۶ فروردين ۱۳۹۲، ۰۸:۲۱ ب.ظ
با سلام! در این آموزش قصد ساخت یک انتقال دهده لینک ساده با زبان پی اچ پی (PHP) رو داریم.
برای دیدن آموزش بصورت متنی، به ادامه مطلب مراجعه فرمایید. سوالی هم بود در خدمتتون هستم. (در بخش نظرات ...)
اول در مورد کارایی انتقال دهنده بهتون میگم بعد ممیریم سر آموزش:
شاید شما سایت هایی رو دیدید که وقتی میخوان به سایتی لینک بدن لینک متن Hyperlink شده یا یه سری کد های عجیب و غریبه مثل این :
یا ساده تراز دومی :
سطح آموزش : مبتدی
دایرکتوری مورد نظرتونو برای ساخت انتقال دهنده ایجاد کنید.
فایلی بنام index.php ایجاد میکنیم.
ابتدا ساختار کوتاه کننده رو در نظر داشته باشید :
برای مثال ما میخواهیم با انتقال دهنده لینک، به سایت گوگل برویم:
خوب ابتدا باید مقدار بعد از علامت سوال رو با متد سرور بگیریم:
من بدلیل اینکه url مون پیچیده نشه از $_get استفاده نمی کنم.
این کار به دور از انسانیت و برابر با نادیده گرفتن زحمات نوشتن این آموزش می باشد.
برای دیدن آموزش بصورت متنی، به ادامه مطلب مراجعه فرمایید. سوالی هم بود در خدمتتون هستم. (در بخش نظرات ...)
اول در مورد کارایی انتقال دهنده بهتون میگم بعد ممیریم سر آموزش:
شاید شما سایت هایی رو دیدید که وقتی میخوان به سایتی لینک بدن لینک متن Hyperlink شده یا یه سری کد های عجیب و غریبه مثل این :
http://go.example.org/?linkhash=df46efb6cd5316137984612eab855edde92eee69یا مثل این هست :
http://go.example.org/?linkid=38# در این نوع از انتقال دهنده ها، از دیتابیس هم استفاده می شود که آموزش ساختش در پست های بعدی قرار میگیرد.
یا ساده تراز دومی :
http://go.example.org/?link=http%3A%2F%2Fwww.google.comخوب چون سطح آموزش مبتدی هست آموزش رو اختصاص میدیم به نوع سومیش.
شروع آموزش
سطح آموزش : مبتدی
دایرکتوری مورد نظرتونو برای ساخت انتقال دهنده ایجاد کنید.
فایلی بنام index.php ایجاد میکنیم.
ابتدا ساختار کوتاه کننده رو در نظر داشته باشید :
برای مثال ما میخواهیم با انتقال دهنده لینک، به سایت گوگل برویم:
http://localhost/redirector/?http://www.google.comخوب،
http://localhost/redirector/محل انتقال دهندست و با مقدار بعد از از علامت (؟) مشخص میشه میریم به کدوم سایت.
خوب ابتدا باید مقدار بعد از علامت سوال رو با متد سرور بگیریم:
$_SERVER['QUERY_STRING']خوب،
QUERY_STRINGکه عضو آرایه درونی (اینکلود شده) سرور است، مقدار درون آدرس صفحه را به ما نشان میدهد.
من بدلیل اینکه url مون پیچیده نشه از $_get استفاده نمی کنم.
کد های فایل ایندکس :
<?php
$url = $_SERVER['QUERY_STRING'];
header ("Location: {$url}");
?>
در خط اول، تگ پی اچ پی رو باز می کنم.
در خط دوم، lمتغیر url رو برابر با مقدار آدرس صفحه می کنم.
در خط سوم، هدر لوکیشن صفحه رو برابر با متغیر url میکنیم.
در خط چهارم، پی اچ پی بسته میشود.
حالا شما سیوش کنید و اون رو امتحان کنید:
http://localhost/redirector/?http://www.google.com
بجای
http://localhost/redirector/
آدرس محل اسکریپت و بجای
http://www.google.com
آدرس سایت مورد نظرتون.
بیاین یکم پیشرفتش کنیم:
اگر با این زبان برنامه نویسی آشنا هستید، میتوانید خطا هارا هندل، و چند دستور شرطی بکار بگیرید.
به نمونه زیر نگاهی بندازید :
<?php
$url = $_SERVER['QUERY_STRING'];
if (isset($url) && $url !="" && $url != NULL) {
header ("Location: {$url}");
}
else {
echo ("مقدار یو آر ال خالی میباشد!");
}
?>
این یکی رو هم ببینید :
<?php
$url = $_SERVER['QUERY_STRING'];
if (!$url) {
exit ("مقدار یو آر آل برابر با رشته null میباشد");
}
else {
header ("Location: {$url}");
}
?>
هر دو یک کارو میکنن ولی در اولی احتمال خطا نسبت به دومی کمتر هست.
خوب این آموزش هم به پایان رسید و منتظر آموزش های بعدی باشید.
کپی برداری هم مشکلی نداره، اما؛