
03-04-2007, 01:11
|
 |
|
|
חבר מתאריך: 05.08.06
הודעות: 2,860
|
|
|
בעיה עם include
יהי קובץ a.php, אשר עושה include לקובץ בתת תיקיה שלו. למשל b.php, ו b.php מכליל קובץ בשם c.php מאותה התיקיה.
הבעיה היא שיש קובץ בשם c.php גם בתיקיה שבה נמצא a.php
איור

וקצת קוד
קוד PHP:
//a.php
include "subfolder/b.php";
//b.php
include "c.php"
//c.php in subfolder
echo "GOOD";
//c.php in public_html
echo "BAD";
עכשיו מה הבעיה? php מחפש קודם בתיקיה public_html, ורק אחר כך בתיקיה subfolder. (כפי שכתוב גם בmanual בפסקה השנייה)
מה זה אומר? זה אומר שהinclude ייקח את הקובץ הלא נכון!
אם מוסיפים "/." לפני תחילת הקובץ כשעושים include אז php יחפש רק בתיקיה public_html, אבל אני צריך בדיוק הפוך: שהוא יבדוק רק ב subfolder.
אני לא מצאתי פיתרון לבעיה הזאת מלבד לבדוק האם הקוד שמתבצע כרגע הוא קוד שנעשה לו include ולפעול בהתאם, אבל זה פיתרון די עקום
וגם בעיקר מציקה העובדה שphp פועל באופן כזה לא אינטואיטיבי ושאין דרך לציין באיזה תיקיה לחפש...(לפחות אני לא מצאתי)
אם מישהו יודע איך פותרים את הבעיה הוא יותר ממוזמן לרשום, ובאופן כללי אני חושב שזה דבר חשוב לבדוק כשמחפשים באגים.
|