10-07-2005, 07:39
|
|
|
חבר מתאריך: 25.08.03
הודעות: 9,114
|
|
צטערת על הספאם, אבל...
כמדומני שהסתדרתי איכשהו.
בקבצים שאני מכליל יש לי קבוע שאמור להכיל כתובת URL לתיקיה של אותו קובץ.
בהגדרת הקבוע השתמשתי במשתנה PHP_SELF, לכן ב-include השתמשתי בכתובת URL, כדי שה-PHP_SELF לא יכיל את כתובת הדף הראשי שרץ (זה שמכליל את שאר הדפים).
הקריאה באמצעות הכתובת המלאה היתה כך:
קוד PHP:
include 'http://'.str_replace("\\", '/', $_SERVER['HTTP_HOST'].substr(getcwd(), strlen($_SERVER['DOCUMENT_ROOT'])).'\file.php');
הבעיה היתה, שכל קובץ שהוכלל לא הכיר בקבועים ובמשתנים שהוגדרו מחוץ לאותו דף.
לכן ב-include פניתי בצורה יחסית/מקומית, רק שיניתי את ההגדרה של הקבוע, בתוך הקבצים המוכללים, והשתמשתי בהגדרה הזאת:
קוד PHP:
define('path', 'http://'.$_SERVER['HTTP_HOST'].str_replace("\\", '/', substr(dirname(__FILE__), strlen($_SERVER['DOCUMENT_ROOT']))).'/');
עקשיו הכל בא על מקומו בשלום (:
הערה:
אני משער שהרבה יעירו (או יחשבו להעיר) על זה שכתבתי את כל הפונקציה בשורה אחת, במקום לפרק אותה לשורות שורות, אך במקרים כאלו אני מעדיף לעשות כך.
בד"כ רק כשיש לי צורך להשתמש באותו ערך שוב אני משתמש במשתנים כדי לשמור תוצאות.
נערך לאחרונה ע"י ישראל K בתאריך 10-07-2005 בשעה 07:42.
|