php / ניווט באתר בעזרת PHP / ההכנות

ההכנות


הבט על הקובץ הזה במלוא תפארתו. הוא מדהים , אני יודע. עכשיו נפרק אותו לגורמיו השונים.

כמה הכנות תמיד באות בהתחלה:



<html>
<body bgcolor=white>
<?

# get the server path to the main directory for this site

# first, get the path of this very script
$root = getenv("SCRIPT_NAME");

# then, get rid of everything after the current directory,
# which I just so happen to know is '/meta'
if (eregi("/meta",$root)) { $root = substr($root,0,strpos($root,"/meta")); }

# get the actual full file system path name of the directory for this site
$docroot = getenv("DOCUMENT_ROOT").$root;


רשימת האגפים באתר נשמרת בקובץ בשם /meta/sections.lst. יכולנו להשתמש במסד נתונים לצורך אותו דבר בדיוק, אבל בהדגמה הזו אנחנו נשתמש בקבצי טקסט, כדי שתוכל לראות כיצד הכל עובד. בקוד הבא נקרא לשמות האגפים לתוך מחרוזת בשם sections$

$sections = array();
$fp = fopen("$docroot/meta/sections.lst","r");
while ($fline = fgets($fp, 256))
{
$sections[count($sections)] = trim($fline);
}
fclose($fp);


פונקצית ()fopen פותחת את הקובץ. שימו לב לעובדה שחייבים לציין את שם הקובץ המלא ואת כל הדרך אליו. השלב הבא הוא השימוש בפונקצית ()fgets כדי לגרום לקובץ לרדת שורה לאחר כל 256 תווים או כאשר ישנה ירידת שורה ברשימה המקורית, מה שבא קודם. אנחנו נשתמש לאחר מכן בפונקצית ()trim על מנת להיפתר מהרווחים בין השורות כאשר אנחנו מאחסנים את המידע במשתנה sections$

הבנתם? מגניב. בואו נבחן את ההמשך של הקוד המשגע הזה.

$path = getenv("PATH_INFO");
$dirs = split("/", $path);


PATH_INFO זה משתנה הסביבה שנוצר על בסיס מה מופיע לאחר שם קובץ ה-HTML בשורת הכתובת. לדוגמא, אם המשתמש גולש לאתר בשם: /http://www.netsloth.com/netsloth/fred/ , אנחנו נניח ש netsloth/ זהו שמו של קובץ HTML, לכן הערך שייכנס למשתנה הוא fred/./

נפצל את מחרוזת PATH_INFO למערך המכיל את שמות הספריות. אם PATH_INFO שווה ל/fred/ , המערך יכיל ("", "fred") . החלק הראשון במערך מורכב מחלק המחרוזת שמשמאל לקו האלכסוני - זאת אומרת, כלום. בדרך הזו אנו יודעים שהמחרוזת מתחילה בסימן הפרדה.

הכל טוב, יפה ונחמד, אבל עכשיו הגיע הזמן לחשוף את הנוסחה הסודית שמראה כיצד הכל רץ.



עמוד הבא: סודות נחשפים >>




הקדמה
האלטרנטיבה
דרך ה -PHP
כולם ביחד
עוד דוגמא
הכנות >
סודות נחשפים
על מה אני
מסתכל?
קח הכל הביתה