亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

怎樣用PHP來給網頁做導航欄

2024-05-04 22:53:40
字體:
來源:轉載
供稿:網友
    譯者注:本文原名《site navigation with php》,原文詳述了如何用php編程來做出效果理想的網頁導航條,本文只選譯了其中的部分文章,所選取的部分是文章精髓之所在,只要大家能弄懂這部分內容就可以用同樣的原理、思想做出我們需要的效果來,希望給讀者能起到拋磚引玉的作用。本文只需要讀者具備php、html的初步知識就可以基本讀懂了。

    譯 文:如大家所知php對于用數據庫驅動的網站(making database-driven sites)來講可謂功能強大,可是我們是否可以用它來做點其他事情呢?php給了我們所有我們期望的工具:for與while的循環結構、數學運算等等,還可以通過兩種方式來引用文件:直接引用或向服務器提出申請。其實何止這些,讓我們來看一個如何用它來做導航條的例子:完整的原代碼:

<!—— this "<?" is how you indicate the start of a block of php code, ——>

<?php # and this "#" makes this a php comment.

    $full_path = getenv("request_uri");

    $root = dirname($full_path);$page_file = basename($full_path);$page_num = substr($page_file, strrpos($page_file, "_") + 1, strpos($page_file, ".html") - (strrpos($page_file, "_") + 1));

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

    $prev_page_file = $partial_path . "_" . (string)($page_num-1) . ".html";$next_page_file = $partial_path . "_" . (string)($page_num+1) . ".html";

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

    if ($prev_exists)

    { print "<a href="$root/$prev_page_file">previous</a>";if ($next_exists)

    { print " | ";} if ($next_exists)

    { print "<a href="$root/$next_page_file">next</a>";}

    ?>//原程序完。

    代碼分析:ok! 前面做了足夠的鋪墊工作,現在讓我們來看看如何來用php來完成這項工作:

    <!—— this "<?" is how you indicate the start of a block of php code, ——> <?php # and this "#" makes this a php comment.

    $full_path = getenv("request_uri");

    $root = dirname($full_path);$page_file = basename($full_path);

    /* php函數getenv()用來取得環境變量的值,request_uri的值是緊跟在主機名后的部分url,假如url是http://www.yourmom.com/dinner/tuna_1.html, 那它的值就為/dinner/tuna_1.html. 現在我們將得到的那部分url放在變量$full_path中,再用dirname()函數來從url中抓取文件目錄,用basename()函數取得文件名,用上面的例子來講dirname()返回值:/dinner/;basename()返回:tuna_1.html.接下來的部分相對有些技巧,假如我們的文件名以story_x的格式命名,其中x代表頁碼,我們需要從中將我們使用的頁碼抽出來。當然文件名不一定只有一位數字的模式或只有一個下劃線,它可以是tuna_2.html,同樣它還可以叫做tuna_234.html甚至是candy_apple_3.html,而我們真正想要的就是位于最后一個“_”和“。html”之間的東東。可采用如下方法:*/ $page_num = substr($page_file, strrpos($page_file, "_") + 1, strpos($page_file, ".html") - (strrpos($page_file, "_") + 1));/* substr($string, $start,[$length] )函數給了我們字符串$string中從$start開始、長為$length或到末尾的字串(方括號中的參數是可選項,如果省略$length,substr就會返回給我們從$start開始直到字符串末尾的字符串),正如每一個優秀的c程序員告訴你的那樣,代表字符串開始的位置開始的數字是“0”而不是“1”。

    函數strrpos($string, $what)告訴我們字符串$what在變量$string中最后一次出現的位置,我們可以通過它找出文件名中最后一個下劃線的位置在哪,同理,接著的strpos($string, $what)告訴我們“。html”首次出現的位置。我們通過運用這三個函數取得在最后一個“_”和“。html”之間的數字(代碼中的strpos()+1代表越過“_”自己)。

    剩下的部分很簡單,首先為上頁和下頁構造文件名:*/ $partial_path = substr($page_file, 0, strrpos($page_file, "_"));

    $prev_page_file = $partial_path . "_" . (string)($page_num-1) . ".html";$next_page_file = $partial_path . "_" . (string)($page_num+1) . ".html";

    /*(string)($page_num+1)將數學運算$page_num+1的結果轉化為字符串類型,這樣就可以用來與其他字串最終連接成為我們需要的文件名。

    */ /*現在檢查文件是否存在(這段代碼假設所有的文件都位于同樣的目錄下),并最終給出構成頁面導航欄的html代碼。

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

    if ($prev_exists)

    { print "<a href="$root/$prev_page_file">previous</a>";if ($next_exists)

    { print " | ";} if ($next_exists)

    { print "<a href="$root/$next_page_file">next</a>";}

    ?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲视频免费一区| 国产视频自拍一区| 国内精品免费午夜毛片| 亚洲一区二区久久| 国产一区二区在线播放| 97精品一区二区视频在线观看| 国产精品久久久久久婷婷天堂| 欧美激情性做爰免费视频| 成人激情视频在线| 欧美日韩中文字幕综合视频| 亚洲视频国产视频| 欧美第一淫aaasss性| 国产成人在线亚洲欧美| 日韩成人激情在线| 国产日韩av高清| 在线不卡国产精品| 久久91精品国产91久久跳| 久久综合久久美利坚合众国| 成人免费视频a| 亚洲一区二区少妇| 亚洲美女性视频| 国内精品在线一区| 亚洲美女动态图120秒| 91精品国产自产在线老师啪| 国产精品网站入口| 最近2019中文字幕第三页视频| 亚洲永久在线观看| 尤物tv国产一区| 日本成人免费在线| 日韩有码视频在线| 国产高清在线不卡| 欧美亚洲成人免费| 国产ts人妖一区二区三区| 欧美老少做受xxxx高潮| 在线日韩av观看| 国产精品久久久久久久久久免费| 国产精品美乳在线观看| 久久久av电影| 国产97色在线|日韩| 精品国产视频在线| 久久久国产精品免费| 亚洲午夜未满十八勿入免费观看全集| 欧美国产日本在线| 8050国产精品久久久久久| 2021久久精品国产99国产精品| 在线看国产精品| 日韩精品免费综合视频在线播放| 欧美性猛交xxxx乱大交蜜桃| 91大神福利视频在线| 欧美日韩国产精品专区| 欧美成人黑人xx视频免费观看| 欧美国产高跟鞋裸体秀xxxhd| 66m—66摸成人免费视频| 伊人av综合网| 亚洲人成在线观看| 情事1991在线| 欧美午夜影院在线视频| 欧美插天视频在线播放| 欧美专区在线播放| 亚洲视频欧洲视频| 亚洲免费视频观看| 精品久久久久久久久久久久久| 国产精品久久久久久一区二区| 日韩电影中文字幕av| 成人av在线网址| 国产精品成人av性教育| 久久精品99久久香蕉国产色戒| 国产91九色视频| 一区二区欧美激情| 欧美国产日韩精品| 日本精品性网站在线观看| 亚洲欧洲日产国产网站| 日韩中文字幕精品| 日韩欧美高清在线视频| 欧美黑人又粗大| 国产精品久久久久久av| 国产视频精品va久久久久久| 91免费人成网站在线观看18| 亚洲激情中文字幕| 国产精品视频最多的网站| 成人午夜在线视频一区| 伊人久久免费视频| 国产精品稀缺呦系列在线| 国产69久久精品成人看| 久久久女女女女999久久| 国产精品久久久久久久天堂| 亚洲日韩中文字幕在线播放| 国产成人精品在线| 国产剧情日韩欧美| 亚洲欧美在线看| 日韩国产在线看| 亚洲乱码av中文一区二区| 欧美理论片在线观看| 久久精品99久久久久久久久| 欧美在线免费视频| 在线观看91久久久久久| 8x海外华人永久免费日韩内陆视频| 国产一区二区黄| 中文字幕日韩欧美在线| 92看片淫黄大片欧美看国产片| 亚洲乱码av中文一区二区| 亚洲男女性事视频| 午夜精品美女自拍福到在线| 97超级碰碰碰久久久| 亚洲夜晚福利在线观看| 668精品在线视频| 久久精品视频免费播放| 亚洲国产欧美一区二区三区久久| 97精品视频在线观看| www.99久久热国产日韩欧美.com| 欧美日韩成人在线观看| 国产精品成人va在线观看| 亚洲伊人第一页| 日韩精品在线免费观看视频| 中文字幕v亚洲ⅴv天堂| 亚洲毛茸茸少妇高潮呻吟| 成人情趣片在线观看免费| 久久综合国产精品台湾中文娱乐网| 亚洲精品国精品久久99热一| 国产精品美女www爽爽爽视频| 精品露脸国产偷人在视频| 欧美在线视频一二三| 国产一区二区三区在线| 亚洲最大成人免费视频| 国产日韩av在线播放| 国产亚洲美女精品久久久| 色婷婷综合久久久久中文字幕1| 成人在线小视频| 国产成人久久精品| 成人网欧美在线视频| 精品高清一区二区三区| 热99精品只有里视频精品| 亚洲欧美激情视频| 日韩欧美一区二区三区| 国产成人福利夜色影视| 精品久久久久久国产91| 亚洲成人网av| 亚洲国产另类 国产精品国产免费| 国产日韩精品一区二区| 国产精品久久久久久久久男| 日韩久久午夜影院| 精品日韩中文字幕| 国产精品美女视频网站| 一本色道久久88综合亚洲精品ⅰ| 色悠久久久久综合先锋影音下载| 久久综合亚洲社区| 在线观看久久av| 日韩精品免费在线播放| 欧美激情网站在线观看| 国产成人久久久| 亚洲国产精品yw在线观看| 久久久久久网站| 久久五月天色综合| 97人人爽人人喊人人模波多| 欧美激情精品久久久久久大尺度| 九九热这里只有精品免费看| 日韩中文字幕在线视频| 欧美中文在线字幕| 91社影院在线观看| 精品国产91乱高清在线观看| 国模吧一区二区三区| www.xxxx精品| 欧美乱大交做爰xxxⅹ性3| 91精品国产免费久久久久久|