Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > งง เรื่อง include คะ include ซ้อน include ซึ่งมันอยู่คนละดับชั้น กัน มัน error ทำยังไงคะ หรือทำไม่ได้



 

งง เรื่อง include คะ include ซ้อน include ซึ่งมันอยู่คนละดับชั้น กัน มัน error ทำยังไงคะ หรือทำไม่ได้

 



Topic : 051702



โพสกระทู้ ( 367 )
บทความ ( 0 )



สถานะออฟไลน์




งง เรื่อง include คะ

คือ ถ้าสมมติ path เป็นอย่างนี้นะคะ



index.php -----> ในไฟล์นี้เรา include("templates/tpl_header.php")

+includes
- config.php

+templates
- tpl_header.php -----> ในไฟล์นี้เรา include("../includes/config.php")
- tpl_footer.php

+modules
+export
- insert.php

P.S. + คือ Folder นะคะ

พอ Run index.php ปรากฎว่า error คะ เนื่องจาก include("../includes/config.php") ที่ ได้ include ใน ไฟล์ tpl_header.php ซึ่งมันอยู่คนละชั้นกับที่ index.php อยู่ พอรันแล้ว เหมือน path ยังผิดอยู่มั้ง ซึ่งมันอยู่คนละชั้น

กรณีอย่างนี้ เราต้องไป include("../includes/config.php") ในหน้า index.php หรือเปล่าคะ เหมือนว่า มัน include ซ้อน include ไม่ได้ ถ้าอยู่คนละดับชั้น กัน

งง นะคะ

ใครรู้บอกที

Thank you in advance ka.



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-11-15 15:50:16 By : unzeen View : 2144 Reply : 8
 

 

No. 1



โพสกระทู้ ( 367 )
บทความ ( 0 )



สถานะออฟไลน์


หรือเราต้องใช้วิธี include("../includes/config.php") ไว้ในไฟล์ที่จะใช้เลยคะ

เพราะ กะว่า จะ include ทีเดียวสามารถใช้ได้ทุกหน้า นะคะ







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-15 15:54:24 By : unzeen
 


 

No. 2



โพสกระทู้ ( 1,025 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

เซต Base path ดีไหมครับ อ้างพาธเต็มไปเลย

ตัวอย่างนะครับ
Code (PHP)
<?php
define('SMARTY_DIR', '/Users/Macintosh/Sites/Developer/lib/Smarty-2.6.26/libs/');
define('ADOdb_DIR', '/Users/Macintosh/Sites/Developer/lib/adodb5/');
 ?>


ตอนเอาไปใช้เราก็
Code (PHP)
<?php 
include(ADOdb_DIR.'/adodb.inc.php');
?>



ทำนองนี้น่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-15 16:18:26 By : adaaugusta
 

 

No. 3



โพสกระทู้ ( 367 )
บทความ ( 0 )



สถานะออฟไลน์


ก็ set ไว้แล้วคะ แต่เอาไว้ในไฟล์ config.php

ดังนั้นในไฟล์ tpl_header ก็ได้ include ไฟล์ include("../includes/config.php") เอาไว้นะคะ เพื่อให้เวลา include อย่างอื่นจะได้ใช้ ชื่อ path ที่เรากำหนดไว้ใน config นะ


ถ้าเป็นอย่างนี้ แสดงว่า จะ ไป include หน้า config ที่เดียวไม่ได้ คงต้อง include ไว้ทุกหน้า ใช่ไหมคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-15 16:22:57 By : unzeen
 


 

No. 4



โพสกระทู้ ( 1,025 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

ถ้าเซตไว้แล้วก็อ้าง Base ที่เซตไว้ได้เลยครับ
Quote:
ดังนั้นในไฟล์ tpl_header ก็ได้ include ไฟล์ include("../includes/config.php")


ก็เปลี่ยนเป็น

include(ชื่อbaseที่เซตไว้.'/config.php');

แต่ต้องเรียกไฟล์ที่เซต basepath มาทุกหน้าที่ต้องการใช้นะครับ

ท่านอื่นอาจจะมีวิธีที่ง่ายกว่านี่ก็ได้ ถ้าของผมยากเดี๋ยวรอผู้เชี่ยวชาญมาแนะแนวทางอื่นอีกทีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-15 16:29:37 By : adaaugusta
 


 

No. 5



โพสกระทู้ ( 367 )
บทความ ( 0 )



สถานะออฟไลน์


งง อะ มีตัวอย่างไม๊ ไม่เข้าใจอ่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-15 16:32:58 By : unzeen
 


 

No. 6

Guest


ตอบความคิดเห็นที่ : 4 เขียนโดย : adaaugusta เมื่อวันที่ 2010-11-15 16:29:37
รายละเอียดของการตอบ ::
ถูกต้องนะคร้าบ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-15 16:38:36 By : num
 


 

No. 7



โพสกระทู้ ( 367 )
บทความ ( 0 )



สถานะออฟไลน์


ก็เริ่มแรกเรา define ชื่อ url ไว้ใน ไฟล์ config.php อะ

แล้วก่อนจะสร้าง page อื่นเลยเราก็ต้อง include ไฟล์ config.php ไว้ในหน้านั้นเพื่อจะได้เวลา include ไฟล์อื่นสามารถใช้ชื่อที่เรา define ได้ถูกป่าวคะ

ทีนี้ config.php เราจะ include มา ก็ต้องอ้างเป็น path จริงๆ ที่อิงจากหน้าที่เราสร้างถูกไหมคะ

หรือเรา จะอ้างเป็น

include("http://localhost/myweb/includes/config.php");

อะคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-15 16:45:18 By : unzeen
 


 

No. 8



โพสกระทู้ ( 1,025 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

เอางี้ คุณบอกว่า
Quote:
index.php -----> ในไฟล์นี้เรา include("templates/tpl_header.php")

+includes
- config.php



แสดงว่า ไฟล์ config.php จะอยุ่ใน folder includes

ซึ่งผมไม่แน่ใจว่า มันซ้อนกันอยุ่กี่ sub


ผมสมมุติ sub เดียวก่อนแล้วกันนะครับ

สมมุติชื่อเว็บว่า test แล้วกัน


ผมก็จะสร้าง define path มา

ดังนี้
Code (PHP)
<?php
define('BASE_DIR', '/Users/Sites/test/includes/');
 ?>


ซึ่งถ้าคุณเอา BASE_DIR ไปใช้คุณก็จะเข้าถึง ไฟล์ใน includes ได้ทุกไฟล์โดยไม่ต้องคอยมานั่ง ../ , ../../

พอใช้ก็

Code (PHP)
include ("ไฟล์ BASE PATH"); 
include(BASE_DIR.'/config.php');  // มันก็จะเหมือนเชื่อมน่ะครับ กลายเป็น /Users/Sites/test/includes/config.php


หรือถ้าอยากเข้าถึง
+templates
- tpl_header.php -----> ในไฟล์นี้เรา include("../includes/config.php")
- tpl_footer.php

ตามที่บอก ก็ให้สร้าง BASE ชี้ไปที่ templates ก็จะสามารถเข้าถึงไฟล์

- tpl_header.php -----> ในไฟล์นี้เรา include("../includes/config.php")
- tpl_footer.php

ได้ เช่น

ไฟล์ BASE_PATH.php
Code (PHP)
<?php
define('BASE_DIR', '/Users/Sites/test/includes/');
define('templates', '/Users/Sites/test/templates/');
 ?>


เวลาเรียกใช้
Code (PHP)
<?php 
include ("BASE_PATH.php");
include(BASE_DIR.'/tpl_header.php'); // ก็จะเปรียบเสมือนว่า /Users/Sites/test/templates/tpl_header.php น่ะครับ ชี้ตรงๆไปเลย
 include(BASE_DIR.'/tpl_footer.php');











วิธีการดู ว่า จะใช้ PATH อะไรให้ดูตรงนี้ครับ

echo $_SERVER['DOCUMENT_ROOT'];

ของโฟลเดอร์หลักเราออกมา ก็จะรู้ครับ ดังตัวอย่างข้างบนเว็บผมชื่อ test (ดังที่ยกตัวอย่าง)
พอ echo ก็ออกมา

/Users/Sites/test

ที่เหลือเราก็นำไปใส่ตามต้องการครับ จะให้เข้าถึงพาธไหน รูทไหน


ประวัติการแก้ไข
2010-11-15 16:57:04
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-15 16:49:02 By : adaaugusta
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : งง เรื่อง include คะ include ซ้อน include ซึ่งมันอยู่คนละดับชั้น กัน มัน error ทำยังไงคะ หรือทำไม่ได้
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่