พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com | บล็อกอาหาร
PHP development / การใช้คำสั่ง include ครับ
นัด
นัด
Thu 29 Sep 2005 11:19:26

คือผมต้องการให้ เรียกไฟล์ มาแสดงในหน้าที่ต้องการให้แสดงครับ ประมาณว่า อยู่คนละโฟล์เดอร์กันน่ะครับ

ยกตัวอย่าง ผมมีไฟล์ชื่อ M ในโฟลเดอร์ root/m.php และผมมี ไฟล์ชื่อ S  ซึ่งอยู่ในโฟล์เดอร์ root/test/S.php

ผมต้องการให้ ไฟล์ชื่อ M มาแสดงที่โฟล์เดอร์ S.php โดยใช้คำสั่ง include แต่ ผมใช้ไม่ถูกรับ

พิมพ์อย่างนี้ หรือเปล่า include("m.php") หรือว่า include("root/test/m.php") หรือว่า

include("root/m.php")

ซึ่งถ้าใช้ iframe ก็ใช้ได้ครับคำสั่ง include ครับ คือต้องการเรียกไฟล์ ที่อยู่คนละโฟล์เดอร์กันมาแสดง

ช่วยอธิบายให้ฟังด้วยครับ

   

Administrator
Thu 29 Sep 2005 11:44:16
การอ้างอิงในการเขียนเว็บไซท์นั้นผมขอใช้วิธีอ้างอิงแบบ relative นะครับ
ไฟล์ m.php อยู่ใน directory ชื่อ root (root/m.php)
ไฟล์ s.php อยู่ใน directory ชื่อ test ซึ่งเป็น sub ของ root อีกที (root/test/s.php)

ลองมองในรูปของโครงสร้างนะครับ

root
  |--m.php
  |--test
        |--s.php

การนำไฟล์ m.php มาแสดงในไฟล์ s.php นั้น สามารถอ้างได้โดย include("../m.php");
การใช้ .. (สองจุด) หมายถึง การ up to parent directory ครับ
การใช้ . (จุดเดียว) หมายถึงการอ้างอิงจาก directory ปัจจุบันครับ
นัด
นัด
Thu 29 Sep 2005 12:02:53

มันมี สองจุด กับ จุดเดียวหรอครับ ที่ใช้ได้น่ะครับ

Administrator
Thu 29 Sep 2005 12:33:03
ในกรณีที่คุณนัดถามนี้จำเป็นต้องใช้ .. (สองจุด) ครับเนื่องจากไฟล์ที่ต้องการ include นั้นอยู่ใน directory ในชั้นที่สูงกว่าครับ
นัด
นัด
Thu 29 Sep 2005 12:53:51

มันขึ้นยังงี้ครับ

Warning: show_banner(banner/common/config.inc.php) [function.show-banner.html]: failed to open stream: No such file or directory in /www/sure-audio.com/www/sureaudio/banner/banner.php on line 16

Warning: show_banner() [function.include.html]: Failed opening 'banner/common/config.inc.php' for inclusion (include_path='.:/usr/local/share/pear') in /www/sure-audio.com/www/sureaudio/banner/banner.php on line 16

Administrator
Thu 29 Sep 2005 13:42:06
จากที่อ่าน error นี้เข้าใจว่าคุณนัดต้องการ include ไฟล์ชื่อ config.inc.php ซึ่งอยู่ที่
/www/sure-audio.com/www/sureaudio/banner/common/config.inc.php
แต่ไฟล์ที่เรียกใช้นี้อยู่ที่
/www/sure-audio.com/www/sureaudio/banner/banner.php

ซึ่งจากกรณีนี้เป็นการ include ไฟล์ที่อยู่ใน directory ที่ต่ำกว่าครับ คุณนัดต้องใช้
include("common/config.inc.php");

/
|--www
      |--sure-audio.com
            |--www
                  |--sureaudio
                       |--banner
                             |--banner.php
                             |--common
                                    |--config.inc.php

จากโครงสร้างจะเห็นว่า config.inc.php อยู่ลึกกว่า banner.php ครับ
นัด
นัด
Thu 29 Sep 2005 14:29:34

คืออย่างงี้ครับ ผมต้องการให้โชว์แบนเนอร์ในไฟล์อื่นๆที่อยู่ต่างโฟล์เดอร์กัน

www/sureaudio/banner/banner.php ----> ไฟล์แบนเนอร์

www/sureaudio/test/show.php ------> ไฟล์ที่ต้องการให้แบนเนอร์แสดง

ผมก็ทำตามตัวอย่างเขาน่ะครับ  แต่ก็ไม่ได้ งงจัง......

4. วิธีการนำแบนเนอร์มาแสดง
 4.1 ที่ไฟล์ที่คุณต้องการให้แสดงแบนเนอร์ ให้ทำการ include ไฟล์ที่ชื่อว่า banner.php ดังนี้
  <?php include("../banner/banner.php"); ?>
 4.2 ตำแหน่งที่ต้องการให้แสดงแบนเนอร์ให้ใช้คำสั่ง
  <?php show_banner(); ?>

Administrator
Fri 30 Sep 2005 00:28:05
ตามที่อ่านนี่การอ้างอิงก็ถูกนะครับ ลองเปลี่ยนเป็น require ดูครับว่าจะได้ไม๊ ยังไม่เคยเจออ่ะครับ เล่นเอางงเลย
นัด
นัด
Fri 30 Sep 2005 10:22:46

ผมลองก๊อปไฟล์  banner ไปไว้ในไฟล์  test ก็ ได้ผลน่ะครับ แต่ว่ามันเป็นการเพิ่มข้อมูลโดยไม่จำเป็น

จะทำยังงัยดีอ่ะครับ ท่าน ......

เด็กน้อยตาดำๆ
เด็กน้อยตาดำๆ
Sun 2 Oct 2005 16:45:57
ถ้าอ้างอิงจาก file ที่อยู่ภายใน directory เดียวกันใช้วิธีนี่ดูนะครับ

include(dirname(__FILE__).'/sub_dir_if_existed/file_to_include');


นัด
นัด
Tue 4 Oct 2005 15:55:14

เราใส่ไฟล์ตรงไหนล่ะครับ...บรรทัดไหน...

include(dirname(__FILE__).'/sub_dir_if_existed/file_to_include');

Administrator
Tue 4 Oct 2005 16:17:18

คุณนัดลองเปลี่ยนเป็น inclide("/www/sure-audio.com/www/sureaudio/banner/banner.php"); หรือ require("/www/sure-audio.com/www/sureaudio/banner/banner.php"); ดูหรือยังครับ

Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login