




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
任務九在線投票與網站計數功能實現需要學習的主要知識點:文件系統中常用的函數功能介紹使用文件操作完成在線投票功能使用session禁止反復投票使用cookie禁止在同一主機中的重復投票網站計數器功能的實現任務說明在各類網站上經常會出現各種在線投票頁面,例如評選我最喜愛的老師、十大杰出青年、我最喜愛的美食、我最喜愛的小明星等等。還有很多網站中都對訪客人數進行統計,例如統計訪問總量、本月訪問量、本周訪問量和今日訪問量等。要完成上述功能,需要將每個票數或者訪問量等數據都保存在服務器端的文本文件中,這需要使用PHP提供的各種文件訪問操作函數。9-1文件系統函數常用的文件系統函數打開文件-fopen()關閉文件-fclose()判斷文件是否存在-file_exists()讀取文件-fgets()寫入文件-fwrite()判斷指針是否到達文件末尾-feof()打開文件—fopen()函數fopen()函數格式:fopen(filename,mode,include_path,context);函數fopen()的作用打開參數filename指定的文件,若是文件存在并且被打開,則返回一個句柄,否則返回false。fopen()函數參數說明filename:必選參數,用于提供要打開文件的路徑和名稱。mode:必選參數,用于指定打開文件時的讀或寫方式,該參數有多種不同的取值,這里只介紹常用的四種。(1)'r':以只讀方式打開,將文件指針指向文件頭;(2)'r+':以讀寫方式打開,將文件指針指向文件頭;(3)'w':以只寫方式打開,文件指針指向文件頭,打開同時清除文件所有內容,如果文件不存在,則嘗試建立文件;(4)'a':以追加寫方式打開,文件指針指向文件末尾,若文件不存在,將嘗試建立文件。參數include_path和context都是可選參數,這里不介紹。關閉文件—fclose()函數對打開的文件完成讀或寫操作之后,必須要關閉文件,釋放內存,使用fclose()函數完成。格式:fclose(int$handle)參數$handle表示之前打開文件時返回的句柄。例如,代碼fclose($fp)的作用是關閉句柄$fp所指向的文件。fopen()和fclose()函數應用示例創建文件file.php,使用代碼$fp=fopen('file.txt','r')嘗試打開文本文件file.txt,若是打開成功,則輸出“成功打開文件file.txt”并關閉文件,否則輸出“無法打開文件file.txt”注意:文件file.txt是不存在的運行觀察效果之后,將$fp=fopen('file.txt','r')改為$fp=fopen('file.txt','w')之后,再次運行頁面觀察效果判斷文件是否存在—file_exists()函數在打開或使用某個文件之前,通常要判斷該文件是否存在,這樣才能確定要使用讀方式直接打開一個已經存在的文件,還是以寫方式創建并打開一個不存在的文件。判斷文件是否存在,使用函數file_exists()
格式:file_exists(path)參數path是必需的,指定要檢查判斷的路徑。該函數的返回值是布爾值,若指定的文件存在,則返回TRUE,否則返回FALSE。file_exists()函數應用小示例修改文件file.php,判斷文件file.txt是否存在,若是不存在,則使用w方式在打開時創建該文件,創建完成后立即關閉文件,重新使用r方式打開文件采用如下運行方案,觀察文件不存在和存在時不同的運行效果第一次運行:前提條件是file.txt不存在,在運行結束后創建該文件,在文件夾中打開該文件,適當添加內容“這是文件的內容”,保存關閉文件第二次運行,運行之后重新打開文件,觀察文件內容是否發生變化,以確定是否又重新創建了文件fgets()函數函數fgets()可以從指定的文件中讀取當前文件指針所指的一行(一個段落)內容,讀取結束的標志是遇到\r\n回車換行字符格式:stringfgets(int$handle[,int$length])參數:$handle:必需的,表示已經打開的文件句柄;$length:可選的,指定了返回的最大字節數(是指當前段落中),最多可以返回的是$length-1個字節的字符串,若是沒有指定該參數,默認為1024個字節。若$length超出了段落中字節個數,則讀取實際段落內容fgets()函數應用示例修改file.txt文件內容為圖示內容形式(每行10個字母),修改file.php文件,在以讀方式打開file.txt文件之后,依次使用fgets($fp)、fgets($fp,4)和fgets($fp)將獲取的內容分別使用變量$str1、$str2、$str3保存,換行輸出三個變量的內容,觀察效果并思考原因使用fgets($fp,11)、fgets($fp)和fgets($fp)替換
上面的fgets()函數,重新運行觀察效果并思考原因。
若是將11換做12呢,再換做13呢?feof()函數在讀取文件內容時,經常要判斷文件指針是否已經到達文件末尾,若是已經到達末尾,讀取過程必須要結束,使用函數feof()判斷文件指針是否到達文件末尾。格式:feof(int$handle)參數$handle表示之前打開文件時返回的句柄。文件操作小實例假設存在文本文件a.txt,里面有三行任意的內容,創建頁面文件read.php,打開文件a.txt,使用循環結構逐行讀出其中的內容并輸出。代碼如圖所示:思考問題:第6行代碼是否可以使用代碼echonl2br($line)取代?寫入文件—fwrite()函數文件打開之后,要向文件中寫入內容,通常會選用fwrite()方法。格式:fwrite($handle,$string[,$length])參數:handle:必需的,表示之前打開的文件句柄;$string:必需的,表示要向文件中寫入的內容;$length:可選的,若是指定該參數,則寫入的內容是$string串中前$length個字節的數據;若是$length超出了$string的長度,則將變量$string的內容全部寫進去。注意:該函數寫完內容之后,并不換行。fwrite()函數應用小示例創建頁面文件write.php,以寫方式打開并創建文件b.txt,向其中寫入兩行內容分別是“這是第一行內容”和“這是第二行內容”。代碼如下:運行效果圖示問題思考:b.txt中內容為什么沒有換行?如何解決該問題?若是在寫入串的后面增加<br/>標記是否起作用?因為fwrite()函數寫完內容之后,不能自動換行,需要在寫入內容的后面綴上能夠在文本文件中起到回車作用的回車換行符"\r\n",即,需要將第3行和第4行代碼修改為:fwrite($fp,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲商業綜合體物業托管合同
- 餐廳店面租賃及特色食材供應協議
- 生態餐廳廚房承包及綠色環保餐飲服務合同
- 智能化常年法律顧問報價單制作與實施
- 智能貸款匹配車輛居間服務合同
- 企業培訓中心場地無償借用協議
- 溶血性貧血的護理措施
- 通信設備采購合同性能測試與維護跟蹤服務
- 車輛安全教育培訓與考核合同范本
- 礦產資源開采采礦權出讓與稅收優惠政策協議
- 安徽省2011年普通高校招生第一批本科院校投檔分數及名次
- 時代音畫學習通超星期末考試答案章節答案2024年
- GB/T 6003.2-2024試驗篩技術要求和檢驗第2部分:金屬穿孔板試驗篩
- 獵聘-2024高校畢業生就業數據報告
- 產品質量鑒定程序規范 總則
- 草晶華工作計劃
- DZ∕T 0388-2021 礦區地下水監測規范(正式版)
- 腦干損傷護理常規
- MOOC 數值天氣預報-南京信息工程大學 中國大學慕課答案
- 跨座式單軌交通工程接觸網系統技術標準
- 教師口語智慧樹知到期末考試答案2024年
評論
0/150
提交評論