kkusd
Verified Seller
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 311
ออฟไลน์
กระทู้: 4,663
|
 |
« เมื่อ: 08 มกราคม 2013, 01:15:56 » |
|
ลองมาหลายโค๊ตแล้วแต่ก็ยังไม่ได้เลย
ปกติผมใช้ $site = "domain.com"; แล้วก็เรียกใช้ค่า $site (อยากให้ php ดึงค่าโดเมนให้เลย ไม่ต้องมาแก้ทีละไฟล์)
ผมลองไปใช้ $site = $_SERVER['SERVER_NAME']; ตัวนี้จะดึงค่าโดเมนมาให้ด้วย
แต่พอไปอยู่หน้าซับโดเมน เช่น aaa.domain.com ค่าของ site จะเป็น aaa.domain.com ด้วยเหมือนกัน
ทำยังไงถึงจะให้ค่าของ $site เป็น domain.com ตลอด ไม่เอาซับโดเมนมาด้วยครับ
|
|
|
บันทึกการเข้า
|
|
|
|
medieval
สมุนแก๊งเสียว
พลังน้ำใจ: 70
ออฟไลน์
กระทู้: 875
|
 |
« ตอบ #1 เมื่อ: 08 มกราคม 2013, 01:57:34 » |
|
ถ้าชับไม่มีจุดแยกไปอีก แนะนำให้
$site= explode(".",$site); $site = $site[1].".".$site[2];
แบบนี้ก็น่าจะได้ละครับ
|
|
|
บันทึกการเข้า
|
|
|
|
kkusd
Verified Seller
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 311
ออฟไลน์
กระทู้: 4,663
|
 |
« ตอบ #2 เมื่อ: 08 มกราคม 2013, 02:10:05 » |
|
มีจุดอีกหลายจุดเลยครับ
aaa.bbb.ccc.domain.com a.b.c.d.e.domain.com
|
|
|
บันทึกการเข้า
|
|
|
|
ossytong
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 138
ออฟไลน์
กระทู้: 1,151
|
 |
« ตอบ #3 เมื่อ: 08 มกราคม 2013, 02:21:03 » |
|
มีจุดอีกหลายจุดเลยครับ
aaa.bbb.ccc.domain.com a.b.c.d.e.domain.com
$site = $_SERVER['SERVER_NAME']; $string = explode(".", $site); $domain = $string[count($string)-2].'.'.$string[count($string)-1];
|
|
|
บันทึกการเข้า
|
|
|
|
UnLock UnlimiT
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 228
ออฟไลน์
กระทู้: 1,899
|
 |
« ตอบ #4 เมื่อ: 08 มกราคม 2013, 02:23:04 » |
|
ลองใช้
$site = $_SERVER['MY_DOMAIN'];
แจ้งด้วยนะครับไม่เคยใช้ ไปเจอแล้ว save ไว้เพื่อต้องใช้ฟังชั่นนี้
|
|
« แก้ไขครั้งสุดท้าย: 08 มกราคม 2013, 02:24:57 โดย UnLock UnlimiT »
|
บันทึกการเข้า
|
งดรับซื้อ google ads ครับ 
|
|
|
medieval
สมุนแก๊งเสียว
พลังน้ำใจ: 70
ออฟไลน์
กระทู้: 875
|
 |
« ตอบ #5 เมื่อ: 08 มกราคม 2013, 02:26:12 » |
|
ตอนติดตั้งไม่ได้ใช้ชื่อโดเมนใส่เข้าไปหรอครับ หรือจะเอาส่วนอื่น
ผมคิดออกตอนนี้ก็คือ $site = $_SERVER['SERVER_NAME']; $site= explode(".",$site); $n = count($site); $site = $site[$n-2].".".$site[$n-1];
ถ้าจะเอา url part ก็อันนี้ครับ
$site = $_SERVER[REQUEST_URI];
|
|
|
บันทึกการเข้า
|
|
|
|
rokaisakkon
ก๊วนเสียว
พลังน้ำใจ: 38
ออฟไลน์
กระทู้: 459
|
 |
« ตอบ #6 เมื่อ: 08 มกราคม 2013, 02:29:35 » |
|
ส่วนมาก เขาเขียนไว้ใน ไฟล์ setting แล้ว include ไปใช้กัน
|
|
|
บันทึกการเข้า
|
#วงการฟรีแลนซ์มันโหดน่ะครับ
|
|
|
lojoman
คนรักเสียว
พลังน้ำใจ: 8
ออฟไลน์
กระทู้: 111
|
 |
« ตอบ #7 เมื่อ: 08 มกราคม 2013, 02:55:48 » |
|
function getdomain($url) { preg_match ( "/^(http:\/\/|https:\/\/)?([^\/]+)/i", $url, $matches ); $host = $matches[2]; preg_match ( "/[^\.\/]+\.[^\.\/]+$/", $host, $matches ); return strtolower("{$matches[0]}"); } ลองดูถ้าอยากรู้ดีกะต้องลองดู 
|
|
|
บันทึกการเข้า
|
 ขายประกันชีวิตด้วยนะครับ สนใจ PM  มาได้นะครับรับเฉพาะเชียงใหม่ ลำพูน นะครับ
|
|
|
MapTwoZa
ก๊วนเสียว
พลังน้ำใจ: 75
ออฟไลน์
กระทู้: 366
|
 |
« ตอบ #8 เมื่อ: 08 มกราคม 2013, 04:29:15 » |
|
ใช้ regular expression ดึงจาก $_SERVER['SERVER_NAME']ครับ
([\w]+\.[\w]+)$
ถ้าเผื่อใช้กับ localhost ด้วยก็เปลี่ยนเป็น ((?:[\w]+\.)?[\w]+)$
|
|
« แก้ไขครั้งสุดท้าย: 08 มกราคม 2013, 04:35:29 โดย MapTwoZa »
|
บันทึกการเข้า
|
Good code quality Developer 
|
|
|
$100perday
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 324
ออฟไลน์
กระทู้: 2,032
|
 |
« ตอบ #9 เมื่อ: 08 มกราคม 2013, 05:45:02 » |
|
โอ๊ววเจอเทพ php เต็มเลย ตามมาเก็บเข้าคลงแสง 
|
|
|
บันทึกการเข้า
|
เหนื่อย..
|
|
|
|
WPDSign
Verified Seller
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 500
ออฟไลน์
กระทู้: 9,060
|
 |
« ตอบ #11 เมื่อ: 08 มกราคม 2013, 11:01:31 » |
|
เก็บความรู้ เคยใช้แต่แบบบ้านๆ
|
|
|
บันทึกการเข้า
|
|
|
|
psuriya
สมุนแก๊งเสียว
พลังน้ำใจ: 29
ออฟไลน์
กระทู้: 717
|
 |
« ตอบ #12 เมื่อ: 08 มกราคม 2013, 11:32:24 » |
|
$domain = explode('.', $_SERVER['HTTP_HOST']); $tld = array_pop($domain); $name = array_pop($domain); $root_domain = "$name.$tld";
ลองใช้ดูครับ
|
|
|
บันทึกการเข้า
|
รับพัฒนาและแก้ไขเว็บไซต์ด้วย Django
|
|
|
thatthep
Newbie
พลังน้ำใจ: 2
ออฟไลน์
กระทู้: 29
|
 |
« ตอบ #13 เมื่อ: 08 มกราคม 2013, 17:10:43 » |
|
ใส่ไว้ใน config แล้ว include เอาน่าจะง่ายกว่านะครับ
|
|
|
บันทึกการเข้า
|
|
|
|
xvlnw.com
Verified Seller
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 493
ออฟไลน์
กระทู้: 5,905
|
 |
« ตอบ #14 เมื่อ: 08 มกราคม 2013, 17:17:23 » |
|
ถ้าเป็นผมนะ ผมเลือกใช้ตัวแปรแบบ define แล้วเก็บไว้ในไฟล์ php แล้วใช้การ include ไปใช้งานนะครับ ส่วนหนึ่งก็เพื่อการเขียนโค๊ดที่ดีครับ ไม่ต้องให้ PHP มันประมวลผลอะไรมากมายนัก อาจจะไม่เห็นผลเท่าไร แต่มันก็เป็นการ Optimize Code ที่ดีครับ เหนื่อยตั้งค่าแค่แปปเดียว คงไม่ลำบากมากไปหรอกครับ 
|
|
|
บันทึกการเข้า
|
|
|
|
MapTwoZa
ก๊วนเสียว
พลังน้ำใจ: 75
ออฟไลน์
กระทู้: 366
|
 |
« ตอบ #15 เมื่อ: 09 มกราคม 2013, 01:29:08 » |
|
ผสมทุกๆอย่างให้และกัน function getServerNameWithoutSubdomain(){ defined('SERVER_NAME_WITHOUT_SUBDOMAIN') || define('SERVER_NAME_WITHOUT_SUBDOMAIN', generateServerName()); return SERVER_NAME_WITHOUT_SUBDOMAIN; } function generateServerName(){ $result = ''; $pattern = '%((?:[\w]+\.)?[\w]+)$%'; preg_match($pattern, $_SERVER['SERVER_NAME'], $result); return $result[1]; } ##ServernameConfig.php## <?php function getServerNameWithoutSubdomain(){ defined('SERVER_NAME_WITHOUT_SUBDOMAIN') || define('SERVER_NAME_WITHOUT_SUBDOMAIN', generateServerName()); return SERVER_NAME_WITHOUT_SUBDOMAIN; } function generateServerName(){ $result = ''; $pattern = '%((?:[\w]+\.)?[\w]+)$%'; preg_match($pattern, $_SERVER['SERVER_NAME'], $result); return $result[1]; }
##test.php## <?php require_once 'ServernameConfig.php'; echo getServerNameWithoutSubdomain();
|
|
« แก้ไขครั้งสุดท้าย: 09 มกราคม 2013, 02:47:42 โดย MapTwoZa »
|
บันทึกการเข้า
|
Good code quality Developer 
|
|
|
ramtan
คนรักเสียว
พลังน้ำใจ: 17
ออฟไลน์
กระทู้: 160
|
 |
« ตอบ #16 เมื่อ: 09 มกราคม 2013, 14:56:52 » |
|
ตามมาเก็บความรู้ครับ อยากตอบแต่กลัวพลาด ขอเก็บไป test ก่อนละกันครับ 
|
|
|
บันทึกการเข้า
|
|
|
|
adidog
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 238
ออฟไลน์
กระทู้: 1,859
|
 |
« ตอบ #17 เมื่อ: 09 มกราคม 2013, 15:10:52 » |
|
|
|
|
บันทึกการเข้า
|
|
|
|
kkusd
Verified Seller
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 311
ออฟไลน์
กระทู้: 4,663
|
 |
« ตอบ #18 เมื่อ: 10 มกราคม 2013, 14:53:47 » |
|
ติดงานประจำไม่ได้เข้ามาเลย ขอบคุณทุกๆคนมากครับ +1 ให้ทุกคนครับ 
|
|
|
บันทึกการเข้า
|
|
|
|
kkusd
Verified Seller
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 311
ออฟไลน์
กระทู้: 4,663
|
 |
« ตอบ #19 เมื่อ: 11 มกราคม 2013, 03:30:57 » |
|
ผสมทุกๆอย่างให้และกัน function getServerNameWithoutSubdomain(){ defined('SERVER_NAME_WITHOUT_SUBDOMAIN') || define('SERVER_NAME_WITHOUT_SUBDOMAIN', generateServerName()); return SERVER_NAME_WITHOUT_SUBDOMAIN; } function generateServerName(){ $result = ''; $pattern = '%((?:[\w]+\.)?[\w]+)$%'; preg_match($pattern, $_SERVER['SERVER_NAME'], $result); return $result[1]; } ##ServernameConfig.php## <?php function getServerNameWithoutSubdomain(){ defined('SERVER_NAME_WITHOUT_SUBDOMAIN') || define('SERVER_NAME_WITHOUT_SUBDOMAIN', generateServerName()); return SERVER_NAME_WITHOUT_SUBDOMAIN; } function generateServerName(){ $result = ''; $pattern = '%((?:[\w]+\.)?[\w]+)$%'; preg_match($pattern, $_SERVER['SERVER_NAME'], $result); return $result[1]; }
##test.php## <?php require_once 'ServernameConfig.php'; echo getServerNameWithoutSubdomain();
ตัวนี้ใช้ได้โอเคเลยครับ 
|
|
|
บันทึกการเข้า
|
|
|
|
x1991z
คนรักเสียว
พลังน้ำใจ: 9
ออฟไลน์
กระทู้: 183
|
 |
« ตอบ #20 เมื่อ: 11 มกราคม 2013, 05:41:52 » |
|
ขอด้วยนะๆ
|
|
|
บันทึกการเข้า
|
|
|
|
|
หน้า: 1 2 [ทั้งหมด] ขึ้นบน |
|