結(jié)合Ajax進(jìn)行PHP開(kāi)發(fā)之入門
異步 JavaScript 和 XML(Asynchronous JavaScript and XML,Ajax)無(wú)疑是最流行的新 Web 技術(shù)。“結(jié)合 Ajax 進(jìn)行 PHP 開(kāi)發(fā)” 這個(gè)系列包括兩部分,我們將完全使用 PHP 和 Simple Ajax Toolkit (Sajax) 創(chuàng)建一個(gè)簡(jiǎn)單的相冊(cè)作為在線 Web 應(yīng)用程序。我們首先用標(biāo)準(zhǔn)的 PHP 開(kāi)發(fā)方法編寫簡(jiǎn)單的相冊(cè),然后再用 Sajax 將其變成活動(dòng)的 Web 應(yīng)用程序。
創(chuàng)建一個(gè)簡(jiǎn)單的相冊(cè)
本文將使用兩種方法創(chuàng)建一個(gè)簡(jiǎn)單的相冊(cè):傳統(tǒng)的 Web 應(yīng)用程序和基于 Sajax 的應(yīng)用程序。我們將用 PHP 編寫一個(gè)相冊(cè),讀取某一目錄中的內(nèi)容,顯示縮略圖組成的表格。如果用戶單擊一個(gè)縮略圖,就會(huì)完全展開(kāi)該圖像。因?yàn)榫帉懙氖莻鹘y(tǒng)應(yīng)用程序,所以每次單擊都會(huì)是一個(gè)新的 HTTP 請(qǐng)求,而參數(shù)則作為 URL 的一部分傳遞。
您將學(xué)習(xí)如何將 Sajax 庫(kù)應(yīng)用于相冊(cè),了解為何使用 Sajax 可以加快應(yīng)用程序的開(kāi)發(fā)。
添加一個(gè)分頁(yè)器表
訪問(wèn)相冊(cè)的用戶需要某種快速查看照片的方法。因?yàn)楹芏啻笳掌蝗菀自谝豁?yè)上顯示,所以需要?jiǎng)?chuàng)建一個(gè)分頁(yè)器 —— 每次顯示少量縮略圖的簡(jiǎn)單表格。還要編寫導(dǎo)航,幫助用戶在圖像列表中來(lái)回移動(dòng)。
為了完成本文的剩余部分,后面假設(shè)照片保存在 /images 子目錄中,縮略圖則放在 /images/thumbnails 中。可以在代碼中做適當(dāng)?shù)男薷摹4送猓覀冞€假定縮略圖和對(duì)應(yīng)的圖像使用相同的名稱。
分頁(yè)器應(yīng)該傳遞兩個(gè)參數(shù):start 是按照字母順序顯示的第一幅照片的索引號(hào),step 是顯示的照片數(shù)。
清單 1. 相冊(cè)查看器
/*
// Generate navigation for Previous and Next buttons $output .= ' ';$columns = 5; foreach ($images as $index => $image) {
// Begin directory listing at item number $limit_start
// End directory listing at item number $limit_end
// Begin column }
// Generate link to blown up image (see below) // Close column if ( $index - $limit_start % $columns == $columns - 1 ) { $output .= ''; } } $output .= '
return $nav . $output; } |
這個(gè)表很簡(jiǎn)單,它從索引號(hào) $limit_start 開(kāi)始遍歷圖片列表。然后放上每個(gè)圖片的縮略圖,每五張圖片作為一行。達(dá)到 $limit_start + $limit_step 的時(shí)候循環(huán)結(jié)束。
該表是目錄列表的可視化表示,因此需要一個(gè)函數(shù)列出目錄中的所有圖像。清單 1 中的 get_file_list() 函數(shù)用索引數(shù)組返回 /images 目錄中的所有圖片列表。下面是一個(gè)示例實(shí)現(xiàn)。
清單 2. get_file_list 實(shí)現(xiàn)
function get_image_list ( $image_dir ) {
while (false !== ($file = $d->read())) { |
推薦文章
2024-11-28
2024-06-25
2024-01-04
2023-11-06
2023-10-30
2023-10-13
2023-10-10
穩(wěn)定
產(chǎn)品高可用性高并發(fā)貼心
項(xiàng)目群及時(shí)溝通專業(yè)
產(chǎn)品經(jīng)理1v1支持快速
MVP模式小步快跑承諾
我們選擇聲譽(yù)堅(jiān)持
10年專注高端品質(zhì)開(kāi)發(fā)聯(lián)系我們
友情鏈接: