在寒假簡單制作php網站時,需要實作線上浏覽pdf和上傳pdf的簡單功能,下面就簡單介紹下該功能。實作效果如下圖所示:
1.當使用者登入後,點選“上傳課件”超連結可以實作隐藏和顯示上傳table的功能;
2.當使用者選擇上傳的課件後,pdf上傳至本地網頁檔案夾下,同時插入資料庫;
3.當點選相關pdf教學課件後,可以實作線上浏覽功能。
首先介紹如何通過javascript實作點選超連結實作隐藏和顯示table或div的效果,代碼如下所示:
其中核心代碼是通過<script language="javascript">..</script>定義javascript函數,設定style.display屬性none隐藏、block顯示;同時在超連結中調用該函數實作如上圖所示的效果。代碼如下:
<script language="javascript">
function change(el) {
whichel =document.getelementbyid(el)
if (whichel.style.display == 'none') { //block為顯示,none為隐藏
whichel.style.display =
'block';
} else {
whichel.style.display
= 'none';
}
return;
}
</script>
<a href="#" class="one"onclick=change("operate")>
上傳課件 </a>
<tableid="operate" align=right
border=0style="display: none">//初始隐藏
同時在超連結中我通過設定style屬性,當點選、移動到超連結上顯示的顔色不同。在超連結中通過<a class="one">即可實作。代碼如下:
<style type="text/css">
/* 這個連結改變顔色 */
a.one:link {color: #0000ff}
a.one:visited {color: #0000ff}
a.one:hover {color: #ffcc00}
</style>
<a href="#" class="one" onclick=change("operate")>
顯示效果如下圖所示:
顯示pdf是通過超連結跳轉的,這也是我前面php值傳遞中講述過的方法。其核心代碼main_right3-3.php如下:
其中裡面嵌套的php代碼是連接配接資料庫裡面的資料,其中資料庫是通過新浪sae搭建的,pdf存儲的是url,你既可以連接配接本地的位址也可連接配接雲盤上的位址。如下圖所示:
其中執行個體化類new httppostinf在httppost.php中,主要是背景通信處理。代碼如下:
通過下面代碼即可實作跳轉到main_right3-3-content.php顯示相應php,而傳遞的id參數整數你點選的pdf超連結對應的資料庫課件url位址。
<a href="main_right3-3-content.php?id=<?php echo $dj[$i]['cp_pdfurl'] ?>"
class="one" target="rightframe">
下面是main_right3-3-content.php代碼顯示pdf,這是通過html5實作的。
下圖是顯示我們的雲盤中pdf的例子:
你通過上面代碼可以顯示如下圖所示的線上pdf效果。
同樣本地的網址為src="http://localhost:8080/coursestudy/pdf/icoot.pdf"即可顯示,其中檔案夾為安裝的apache路徑“f:\\xampp\htdocs\coursestudy\pdf”,其中coursestudy是我這個項目的檔案名。
php上傳pdf代碼如下,通過form中定義屬性enctype="multipart/form-data",同時上傳到action="upload.php"該路徑下進行處理,送出方法采用post方法。而選擇檔案的是input定義type="file"即可。main_right3-3.php代碼上傳部分如下:
而上傳檔案upload.php代碼如下,主要是通過<input type="file" name="myfile"中myfile對應上傳的檔案pdf屬性,并判斷是否是pdf檔案。
bool move_uploaded_file ( string filename, string destination) 上傳檔案名filename到指定路徑destination
代碼中我是上傳到項目中pdf檔案夾下,同時以目前時間命名;後面是插入資料庫課件表的操作。
$_files['myfile']['name']是指被上傳檔案的名稱
$_files['myfile']['type']是指被上傳檔案的類型,此時為"application/pdf"
$_files['myfile']['size']是指被上傳檔案的大小,機關為位元組(b)
$_files['myfile']['tmp_name'] 是指被上傳檔案存在伺服器中的臨時副本檔案名稱,檔案被移動到指定目錄後臨檔案将被自動消毀。
如下圖所示,選擇pdf并上傳的運作結果,同時檔案上傳至檔案夾為安裝的apache路徑“f:\\xampp\htdocs\coursestudy\pdf”路徑下。
最後希望文章對你有所幫助,因為這些知識都是環環相扣的,是以單獨講述不太易懂,我也是盡我自己的最大努力寫這幾篇文章,可能文章效果不是很好,也存在着很多不足之處。但請海涵,還是希望你能發現文章中對你有用的知識吧!最後紀念下自己寫的第100篇部落格,兩年時間感謝自己~期待更長