PHP 5 引入檔 及 檔案處理 引入檔 檔案處理 檔案上傳.

Slides:



Advertisements
Similar presentations
計算機程式語言實習課.
Advertisements

File Access 井民全製作.
題目:十六對一多工器 姓名:李國豪 學號:B
PHP+MySQL互動式網頁程式設計班 PHP進階語法 講師:林業峻 CSIE, NTU 6/ 19, 2010.
引入檔 (include, require) 檔案處理 檔案上傳
PHP與MySQL連結 大葉大學 資工系 黃鈴玲.
PHP 5 入門基礎 第一個PHP 程式 PHP 資料型態.
JDK 安裝教學 (for Win7) Soochow University
基礎linux指令說明 Part 1 資訊組 陳宜徽.
JAVA 程式設計與資料結構 第十二章 JAR File.
Ch11 檔案存取 網頁程式設計.
JAVA 程式設計與資料結構 第六章 輸出與輸入.
客戶端的檔案上傳 HtmlInputFile檔案控制項 上傳單一檔案 同時上傳多個檔案.
SQL Stored Procedure SQL 預存程序.
PHP+MySQL互動式網頁程式設計班 檔案上傳程式設計 講師:林業峻 CSIE, NTU 7 / 3, 2010.
檔案上傳 所謂檔案上傳,就是將檔案由客戶端的主機,藉 由瀏覽器傳送到伺服器的資料夾上。
PHP 程式流程控制結構.
自由軟體介紹(一) 把flash通通帶回家 報告人:陳俊銘.
網頁切換移轉 JS vs. ASP.NET.
Echo Server/Client Speaker:Fang.
2017 Operating Systems 作業系統實習 助教:陳主恩、林欣穎 實驗室:720A.
|13 檔案資料讀寫.
App Inventor2呼叫PHP存取MySQL
檔案與磁碟的基本介紹.
THE C PROGRAMMING LANGUAGE
Java 程式設計 講師:FrankLin.
檔案傳輸協定(FTP) 9.1 什麼是檔案傳輸協定 9.2 常用的FTP指令 9.3 Windows內建的FTP 9.4 瀏覽器的FTP功能
FTP檔案上傳下載 實務與運用.
第10章 檔案與資料夾處理 10-1 C語言的檔案輸入與輸出 10-2 文字檔案的讀寫 10-3 二進位檔案的讀寫
第10章 檔案與資料夾處理 10-1 檔案的基礎 10-2 文字檔案的讀寫 10-3 二進位檔案的讀寫 10-4 檔案與資料夾處理.
網頁切換移轉 JS vs. ASP.NET.
PHP 變數、常數與運算子 變數 常數 運算子
表單(Form).
PHP5與MySQL4 入門學習指南 凱文瑞克 著 第 16 章 檔案處理.
VS.NET 2003 IDE.
建立一 function s (type) 可以用來繪製cyclic-harmonic curves
FileUpload控制項 建國科技大學 資管系 饒瑞佶 2007年.
第一個cordova project Cordova project建立與平台設定,均藉由cli(command line interface來完成 建立project請打開命令提示字元視窗應輸入下列命令 cordova create hello tw.edu.stust.mis.hello HelloWorld.
檔案上傳
表單(Form).
網頁程式概論 建國科技大學資管系 饒瑞佶 2015/9 V1 2016/4 V2 2016/9 V3.
讓Emulator可以 使用Android Market
表格(HTML – FORM).
EPSON 點矩陣印表機LQ-300+ 發票紙張格式設定.
第一次Labview就上手 參考書籍: LabVIEW for Everyone (Jeffrey Travis/Jim Kring)
期末考.
個人網路空間 資訊教育.
GridView.
GridView操作 (II).
SOCKET( ).
如何使用Gene Ontology 網址:
FTP使用教學 簡介: 軟體名稱:FileZilla 軟體性質:Freeware 版本: 繁體中文版
引用檔案.
File Input and Output Chap. 11: 施威銘的書 Chap. 7: K&R.
第6章 PHP的数据采集.
表格(HTML – FORM)
Video 影像 (VideoPlayer 影像播放器、Camcorder 錄影機) 靜宜大學資管系 楊子青
挑戰C++程式語言 ──第7章 輸入與輸出.
陣列與結構.
從HTML表格到CSS 靜宜大學 資管系 楊子青.
Chapter 15 檔案存取 LabVIEW中的檔案存取函數也可將程式中的資料儲存成Excel或Word檔。只要將欲存取的檔案路徑位址透過LabVIEW中的路徑元件告訴檔案存取函數後,LabVIEW便可將資料存成Excel或Word檔;當然也可以將Excel或Word檔的資料讀入LabVIEW的程式中。
如何從政大圖書館館藏目錄匯出書目至EndNote
2018 Operating Systems 作業系統實習 助教:林欣穎 實驗室:720A.
Brief Guide of FrontPage
班級:博碩子一甲 授課老師:鐘國家 助教:陳國政
電子郵件簡報.
NFC (近場通訊, Near Field Communication) 靜宜大學資管系 楊子青
Unix指令4-文字編輯與程式撰寫.
Develop and Build Drives by Visual C++ IDE
InputStreamReader Console Scanner
Presentation transcript:

PHP 5 引入檔 及 檔案處理 引入檔 檔案處理 檔案上傳

引入檔 require () include() require、include的差異 require_once()和include_once()

require() require() 的功能是將引入檔的內容取代 require() 所在的位置。 require() 本身並不提供回傳值 (return) 的功能 require() 格式如下: require (引入檔檔名) require '引入檔檔名' require $某個存入檔名的變數

require() 範例 引入檔var.inc內容如下 <?php $Width=100 ; $Height=5 ; define (CrLf ,"<br/>" ); ?> 1: <?php require("var.inc") ?> 2: <html> 3: <title>Require()</title> 4: <body> 5: <?php 6: echo "高度 = $Height" ; 7: echo CrLf ; 8: echo "寬度 = $Width". CrLf ; 9: echo "面積 = " ; 10: echo $Width*$Height ; 11: echo CrLf ; 12: echo "周長 = " ; 13: echo 2*($Width+$Height) ; 14: ?> 15: </body> 16: </html>

include() include() 也是將一個外部檔案內容引入到 程式中使用的指令, 和 require()最大的差別 在於 請特別注意, 若引入檔存在,無論執行與否 require() 的內容一定會被讀進來。若不存在,則 require() 顯示警告訊息後,就不執行了

include() 範例 add_include.inc內容如下 <? echo "進入 include file <br>" ; return $a+$b ; ?> 1: <html> 2: <title>Include</title> 3: <body> 4: <?php 5: $a=10 ; 6: $b=20 ; 7: $c=include ("add_include.inc") ; 8: echo "回到主程式 : <br>" ; 9: echo "A,B二數和是 $c" ; 10: ?> 11: </body> 12: </html>

require、include的差異 回傳值不同 引入時間不同 錯誤處理不同。 include() 可以有回傳值

require_once() 和include_once() 這二個引入檔案的函數, 所有的功能都和前面介 紹的 require() 和 include() 相同。 被引入的檔案, 無論程式的結構如何, 引入檔只 會被引入一次。

檔案處理 基本檔案處理 寫入檔案 讀取檔案 網頁計數器-文字版

基本檔案處理 將資料儲存起來, 方便日後使用。 檔案的處理大致上可以分成四個基本動作 開啟檔案 儲存資料 讀取資料 關閉檔案

寫入檔案 將資料寫入檔案中可以分成三個步驟 開啟檔案 若檔案不存在可自行產生 寫入檔案 關閉檔案

開啟檔案 開啟檔案格式 int fopen (檔案名稱, 開啟形式, [是否使用include_path]) 當檔案開檔成功後會傳回一個檔案指標 (file pointer) 來指向開啟的檔案。若是開檔失敗則會傳回 false。 [檔案名稱] 就是欲開啟檔案的名稱。 [開啟形式] 指定開啟檔案的用途是讀取或是寫入等 第三個參數是一個選用參數, 當設定為 1 時會搜尋include_path。

開啟檔案 開啟形式參數 參 數 說 明 r 開啟唯讀檔。 r+ 開啟可讀可寫檔, 將檔案指標放在起始位置。 w 說 明 r 開啟唯讀檔。 r+ 開啟可讀可寫檔, 將檔案指標放在起始位置。 w 開啟寫入檔, 並清除檔案內容。 w+ 開啟可讀可寫檔, 將檔案清除, 並將檔案指標放在起始位置。 a 開啟寫入檔, 並將指標指向檔尾 a+ 開啟可讀可寫檔, 並將指標指向檔尾.

寫入檔案 使用 fputs() 函數, 其格式如下: int fputs (檔案指標, 寫入資料, [寫入長度]) 此函數會將欲 [寫入資料] 存入 [檔案指標] 所指向的檔 案中。 如果有指定 [寫入長度] 僅寫入所指定的寫入長度 當寫入完成 fputs()會傳回寫入長度, 若失敗則會傳回 false.

關閉檔案 關閉檔案, 使用的函數是fclose() 其格式如下: int fclose(檔案指標) 關閉[檔案指標]所指向的檔案。

寫入檔案 範例 1: <html> 2: <title>寫入檔案</title> 3: <body> 4: 寫入1..9 。<p> 5: <?php 6: if (!$fp=fopen("number.txt","w")){ 7: echo "檔案無法開啟"; 8: exit; 9: } 10: for ($i=1; $i<=9; $i++){ 11: $len=fputs($fp,$i) ; 12: echo "寫入$i ==> 寫入長度 : $len<br/>" ; 13: } 14: fclose($fp) ; 15: ?> 16: 寫入成功。 17: </body> 18: </html>

讀取檔案 讀取檔案的動作分成三個步驟 開啟檔案 與剛剛相同 讀取檔案 關閉檔案 與剛剛相同

讀取檔案 讀取檔案可使用 fgets() 函數, 其格式如下: string fgets (檔案指標 [,讀取長度]) 檔案指標是指已開啟的檔案指標 設定讀取長度 len, 則讀取 len-1 個字元, 沒有設 定讀取長度則預設值為 1024 bytes 讀取成功傳回讀取字串, 若失敗則傳回 false. 此函數一次讀取檔案中的一行字串

讀取檔案 範例 : <html> 2: <title>讀取檔案</title> 3: <body> 4: 讀取檔案 <p> 5: <?php 6: $f=fopen("number.txt","r") ; 7: $s=fgets($f) ; 8: echo "讀取內容 : $s <p>" ; 9: fclose($f) ; 10: ?> 11: 讀取完畢 12: </body> 13: </html>

讀取檔案 範例 1: <html> 2: <title>公 佈 欄</title> 3: <body> 4: <b>公 佈 欄</b> <p> 5: <?php 6: $fp=fopen("board.txt","r"); 7: $i=0 ; 8: echo "<table width=200 border=0><caption>公告內容</caption>"; 9: while (!feof($fp)){ 10: $str=fgets($fp) ; 11: $i++; 12: $i%2==0 ? $color="ffffc2" : $color="d2ffff"; 13: echo "<tr bgcolor=$color><td width=20>$i</td><td>$str</td></tr>" ; 14: } 15: echo "</table><p>"; 16: echo "共 $i 筆公告事項"; 17: fclose($fp) ; 18: ?> 19: </body> 20: </html>

url.txt Yahoo!, http://www.yahoo.com/ Google, http://www.google.com/ Yam, http://n.yam.com/ PHP(w3schools), http://www.w3schools.com/PHP/DEfaULT.asP 暨南大學, http://www.ncnu.edu.tw/ 暨大資管系, http://www.im.ncnu.edu.tw/ 網頁程式設計, http://www.im.ncnu.edu.tw/~ycchen/www2009/ <?php $file = fopen("url.txt", "r"); echo "<ul>"; while (!feof($file)) { $str1 = fgets($file); list($name, $url) = explode(", ", $str1); echo "<li><a href=\"$url\">$name</a></li>"; } echo "</ul>"; fclose($file); ?>

網頁計數器-文字版 1: <?php 2: if (file_exists("count.txt")){ 3: $ff=fopen("count.txt","r") ; 4: $c=fgets($ff) ; 5: $c++; 6: fclose($ff) ; 7: }else{ 8: $c=1 ; 9: } 10: $ff=fopen("count.txt","w"); 11: fputs($ff,$c) ; 12: fclose($ff) ; 13: ?> 14: <html> 15: <title>文字版計數器</title> 16: <body> 17: <center> 18: 歡迎您光臨本站, 您是第<?php echo $c ; ?>位訪客 19: </center> 20: </body> 21: </html>

檔案上傳 所謂檔案上傳,就是將檔案由客戶端的主機,藉 由瀏覽器傳送到伺服器的資料夾上。 在網頁中將檔案由客戶端上傳到伺服器中,其中要經歷的 過程如下: 在表單檔案欄位選取要上傳的檔案。 表單送出,將檔案傳送到伺服器。 伺服器在接收的過程中,先將接收到的檔案放置在暫存資料 夾中。 傳送完畢後將完整的檔案搬移到指定的網頁資料夾中。

檔案上傳 參數調整 在使用檔案上傳的功能前,對於 PHP 的執行環境要進行以 下的檢查及調整。 是否允許上傳 file_uploads=On 請開啟允許網頁伺服器允許上傳的設定: 暫存檔資料夾 upload_temp_dir=“C:\Windows\Temp” 在檔案上傳到網頁伺服器時會先放在暫存資料夾,完成 後才搬到指定資料夾。若沒有設定暫存資料夾會造成上 傳失敗,若在 Windows 系統中您可以參考以下設定: 可接受上傳檔案大小 upload_max_filesize= 8M 在 <php.ini> 中預設的大小為 2MB,建議您可以調整為 8MB 到 10MB 之間,適用於大部份的需求。

檔案上傳 表單 上傳檔案的表單,有幾個重要的注意事項: 在 <form> 標籤中「action」屬性必須設定要接收檔案的 PHP 程式檔。 在 <form> 標籤中,傳送方式屬性必須要設定為「method="post"」,因為檔案上傳的表單的傳送一定要使用 POST 的方法。 在 <form> 標籤中,因為傳送檔案所以要設定傳遞時資料的編碼方式,這裡要加上「enctype="multipart/form-data"」的屬性,才能正確地讓檔案欄位送出。 上傳的檔案欄位為 <input> 標籤,屬性必須設定「type="file"」,如此即可在使用時出現 瀏覽 鈕,讓使用者選取要上傳的檔案。

接收上傳檔案 在程式端接收到檔案,並不是馬上將檔案放置 到指定的資料夾中,而是先將檔案儲存成暫存 檔,在完成檔案傳輸後再將檔案搬移到指定資 料夾。 取得暫存檔資訊 您可以使用 $_FILES 取得暫存檔的資訊,參 考次頁:

上傳檔案範例 php_file9.html

上傳檔案範例

多檔上傳 若您有上傳多個檔案的需求,在表單欄位佈置上也必 須在表單名稱後加上[]左右括號,讓表單欄位以陣列 方式傳送。 在接收時以 $_FILES 陣列方式接收即可完成。但是要 注意的是這個陣列是二維陣列 例如 第一個檔案: 暫存檔名稱:$_FILES[欄位名稱] ["tmp_name"][0] 原始名稱:$_FILES[欄位名稱]["name"][0] 第二個檔案: 暫存檔名稱:$_FILES[欄位名稱]["tmp_name"][1] 原始名稱:$_FILES[欄位名稱]["name"][1]

多檔上傳範例

多檔上傳範例