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

קח הכל הביתה


אנחנו כבר יודעים המון, באופן תיאורטי, על הסיפור מכיוון שהעלינו את כל המידע אל מערך ה$stories כאשר בנינו את תוכן העניינים. אבל רק ליתר בטחון:

if (!isset($stories["$storyid"]))
{
$fp = fopen("$docroot/stories/$storyid/meta.lst","r");
while ($fline = fgets($fp, 256))
{
$fline = trim($fline);
$key = substr($fline, 0, strpos($fline,"="));
$value = substr($fline, strpos($fline,"=")+1);
$stories["$storyid"][$key] = $value
}
}


אם אתם אומרים לעצמכם משהו כמו "הי, הקוד הזה לא אמור להיות בתוך פונקציה אם קוראים לו פעמיים?" אתם במאה אחוז צודקים.

אוקי, עכשיו אנחנו בטוחים שהעלינו את המידע אל תוך המערך $stories. אנחנו פשוט נשאיר את המידע הזה שם ונקרא לו כשנצטרך אותו.

reset($stories["$storyid"]);
while (list($key,$value) = each($stories["$storyid "]))
{
$$key = $value;
}


הפקודות הללו מייצרות משתנה PHP נפרד לכל שדה בקובץ. המשמעות של key$$ היא ששם המשתנה יכול להימצא בתוך המשתנה key$. כאשר שם השדה title נמצא בתוך key$ והערך story My נמצא בתוך value$, אנחנו יכולים להניח ש $$key = $value ומכאן להציב את הערך My story במשתנה title$

עכשיו תחזרו על זה 10 פעמים מהר וברצף.

לאורך שאר הקובץ, אנחנו מתייחסים רק לtitle$, זה הרבה יותר נקי וחוסך המון הקלדות.בואו נמשיך הלאה לסיפור עצמו.

אם אנחנו נמצאים בעמוד הראשון של הסיפור, נדפיס את הכותרת, הסופר ורשימת ראשי הפרקים. אם אנחנו לא נמצאים בעמוד הראשון, נדפיס את שם הסיפור באותיות קטנות ואת מספר העמוד. תוכן הסיפור נמצא בקובץ בתוך הספרייה הרלוונטית
stories/story-number/page_page-number.htmlf.
כדי לעבור מדף אחד למשנהו, אנחנו נשתמש בקוד מההתחלה.

if ($storyid)
}
if ($pg == 1(
}
print "<h3>$title</h3>\n";
print "<p><b>By $author</b></p>\n";
print "<h4>$subtitle</h4>\n";
}
else
{
print "<h5>$title - Page $pg</h5>\n";
}

print "<p><br></p>\n"; print "<p><br></p>\n";

$page_file = "$docroot/stories/$storyid/page_$pg.htmlf";

include($page_file);

$partial_path = substr($page_file, 0, strrpos($page_file, "_"));

$prev_page_file = $partial_path . "_" . (string)($pg-1) .
".htmlf"; $next_page_file = $partial_path . "_" . ( string)($pg+1) . ".htmlf";

$prev_exists = file_exists($prev_page_file);
$next_exists = file_exists($next_page_file);

print "<p><br clear=right></p>\n";
print "<p><br></p>\n";
print "<p align=right>\n";
if ($prev_exists)
{
print "<a href=\"$root/netsloth/$section/$storyid/" .(string)($pg-1) ."\">previous</a>" ;
if ($next_exists)
{
print " | ";
}
}
if ($next_exists)
{
print "<a href=\"$root/netsloth/$section/$storyid/" .(string)($pg+1) ."\">next</a>" ;
}
print "</p>\n";
}
?>
<body>
<html>


ת-דם! זה הכל, להתראות.









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