張智星 jang@mirlab.org http://mirlab.org/jang 台大資工系 MIR實驗室 第二十章 檔案與目錄 張智星 jang@mirlab.org http://mirlab.org/jang 台大資工系 MIR實驗室.

Slides:



Advertisements
Similar presentations
口臭不苦惱 清新口氣大作戰 口臭不只破壞人際的互動,更是 身體發出的警訊,不能輕忽。 康健雜誌 89 期文. 梁煙純 攝影.邱瑞金.
Advertisements

一、软件简介 二、功能介绍 三、产品优势 四、应用范围 五、成功客户 目录目录 软件简介 ●员工工作时间,都认真工作了? ●还是在玩游戏? ●浏览与工作无关的网站? ●收发私人邮件? ●甚至将公司的机密资料拷贝带 走?或是通过邮件或聊天工具泄 密? …… 解决之道.
管理科学与工程类专业 职业规划问题探讨 报告人 : 李增兵 67D103 , FTP : // 管理科学与工程学院.
防範電腦病毒 與 資訊安全案例宣導. 電腦防毒基本概念 大綱 電腦病毒的種類 電腦病毒的傳染途徑 預防電腦病毒的方法 已經中毒了該怎麼辦.
一、老师申请题目,以下指导老 师操作。 1. 登录教务系统 web 端. 2. 点击 “ 毕业设计 ” 工具栏下拉菜单中的 “ 论文 _ 教师申请题目 ”
职业指导服务系统 欢迎了解职业指导服务系统!
欢迎各位 Nice to Meet U.
第五章 话语的语用意义(上) 主讲人:周明强.
第3章 电子商务的技术基础 3.1 电子商务与计算机网络技术 3.2 电子商务与Web技术 3.3 电子数据交换(EDI)技术
2008公派研究生项目留学人员派出培训会 —公派留学相关规定及注意事项介绍
综合实验 ----实验选作(1/3) 智能五子棋游戏 1. 实验目的
一百零一年溪口國小 學校日 班級: 三年三班 教師: 張慈麟.
張智星 台大資工系 多媒體檢索實驗室 第十章 通用表示法 張智星 台大資工系 多媒體檢索實驗室.
新教师上课的基本要求和基本规范 教学督导:倪 振 文 时间:2010年8月24日.
主办:泰兴市质量强市领导小组办公室 承办:泰 兴 市 市 场 监 督 管 理 局.
项目3 病毒的防治与查杀 项目1 双机互连对等网络的组建.
提高自身素质做好 新时期班主任工作 北京市广渠门中学 高金英.
关注热点 2014年天猫双十一成交总额 571亿 点亮217个国家地区
普通话模拟测试 与学习平台 使用指南.
第八章 网络课程的设计与开发.
实训十四、IE浏览器的基本应用.
安徽地税机打发票系统培训 2015年3月.
網路小說劇情建構與伏線營造 Windows98.
P303 HTML/DHTML/CSS/JavaScript 專業HTML網頁設計 陳錦輝.
高等职业学校建筑设计类与艺术设计类专业骨干教师实践能力国家级培训
網頁技術簡介.
第十 章 XML与数据库的交换 10.1 概述 10.2 数据岛 10.3 XML数据源对象 10.4 数据集操作
第4章 JavaScript脚本语言基础 4.1 JavaScript简介 4.2 JavaScript语法基础
《网页设计与制作》 教学课件 主讲人:湖南铁道职业技术学院 陈承欢
没有请柬该如何办 记者如何选取有利位置 着装 准备工作 提问时的注意事项
关于整合检验检测认证机构实施意见的通知(国办发〔2014〕8号)
互联网时代班主任的挑战 万玮 2014年9月20日.
3.1能源资源的开发 ——以我国山西省为例.
推进德育创新 做好新时期班主任工作 北京市广渠门中学 高金英.
《生活与哲学》第一轮复习 第七课唯物辩证法的联系观.
5.1 – 表格(FORM) 輸入元素 : 兩種傳遞方法 : GET or POST 範例 1. 文字欄位 Text box
淡江大學版 佛光人文社會學院 科技未來 第07章 時空宇宙(5) 楊棋明 博士 中央研究院生物多樣性研究中心 Tel: #612, 613
輕量級伺服器設置 1.HFS檔案伺服器架設實務與演練 2.AppServ與網路架站概說 3.AppServ+Xoops架設實務與演練
版本控制工具VSS.
ASP VBScript 基础知识.
目錄 前言 八達通 使用八達通的好處 八達通的種類 輕鐵 輕鐵的設施 輕鐵的發展 輕鐵與西鐵
計中「多媒體與網路應用」短期訓練課程 FTP server 架設 (in Windows)
鄉村尋根-農具篇.
張智星 台大資工系 多媒體檢索實驗室 第五章 自訂函數 張智星 台大資工系 多媒體檢索實驗室.
第22章 WSH (Window Script Host) 基本介紹
高等职业教育“十一五”规划教材 高 职 高 专 文 秘 类 教 材 系 列
預官考試輔導 計算機概論提要 91年12月4日.
考试题型 填空题(30) 选择题(20) 名词解释(10) 问答题(24) 计算题(16) 附加题(30) 成绩核算:
NAMO網頁製作教學簡報 講師:李惠茹.
自然科教學觀摩 教 學 者:黃藍萩 教學班級:3年9班 教學日期:
張智星 台大資工系 多媒體檢索實驗室 第九章 小餅乾(Cookies) 張智星 台大資工系 多媒體檢索實驗室.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
張智星 台大資工系 多媒體檢索實驗室 第十二章 ASP基本介紹 張智星 台大資工系 多媒體檢索實驗室.
第4章 ASP.NET的HTTP物件、輸出入與Cookie處理
蘋果電腦的作業系統可以和Windows作業系統一樣,可以做Scan to Folder
張智星 台大資工系 多媒體檢索實驗室 第十一章 資料保護 張智星 台大資工系 多媒體檢索實驗室.
第一章 網際網路基礎.
VR虛擬書店 模組化系統 組員 : 黃品珅 江宗祐 陳煒杰 郭晏誌 指導教授 : 劉興民 教授.
豪雅科技股份有限公司 iSeries Professional Consultant P. 1
蘋果電腦的作業系統可以和Windows作業系統一樣,可以做Scan to Folder
風能 主題:風能 班級:四環工一A 組員:林明哲 4980N047 江信宏 4980N079
“修身成材” 班级干部培训班 黑龙江大学党委学工部.
目 录: 一、网络存储系统的登录 二、网络存储系统的基本使用 三、学生提交作业功能的使用 四、教师开放资源功能的使用.
第10讲 Web服务.
講師:梁家豪 動態網頁設計 ASP & 資料庫應用 講師:梁家豪
W3C标准网页制作 主讲教师:张 涛.
張智星 台大資工系 多媒體檢索實驗室 第十三章 函數與程式碼的重複使用 張智星 台大資工系 多媒體檢索實驗室.
多姿多彩的世界.
MATLAB 程式設計入門篇 程式除錯 張智星 (Roger Jang)
JavaScript 教师:魏小迪
Presentation transcript:

張智星 jang@mirlab.org http://mirlab.org/jang 台大資工系 MIR實驗室 第二十章 檔案與目錄 張智星 jang@mirlab.org http://mirlab.org/jang 台大資工系 MIR實驗室

本章大綱 大綱 主題 本章說明如何使用 JScript 來進行檔案和目錄的處理,並說明三個實際應用的範例。 20-1:檔案與路徑處理 20-2:目錄處理 20-3:應用範例一:記數網頁 20-4:應用範例二:線上檔案修改 20-5:應用範例三:MATLAB 程式碼分享

20-1:檔案與路徑處理 本小節介紹如何使用ASP對檔案做讀寫處理。

範例20-1: pathFunction01.asp 主題:FileSystemObject 對於實體路徑的處理功能 說明 Webpage: remote host, local host 程式碼重點 說明 此範例使用 Request.ServerVariables(“PATH_TRANSLATED”) 來取出範例檔案的實體絕對路徑,然後再使用 FileSystemObject 的各種函數來取出此路徑的重要部分。 physicalPath=Request.ServerVariables("PATH_TRANSLATED"); fso = Server.CreateObject("Scripting.FileSystemObject");

範例20-2: pathFunction02.asp 主題:FileSystemObject 對於 Web 路徑的處理功能 說明 Webpage: remote host, local host 程式碼重點 說明 此範例使用 Request.ServerVariables("SCRIPT_NAME") 來取出範例檔案的 Web 路徑,然後再使用 FileSystemObject 的各種函數來取出此路徑的重要部分。 webPath=Request.ServerVariables("SCRIPT_NAME"); fso = Server.CreateObject("Scripting.FileSystemObject");

ASP 對檔案的讀寫 補充說明 名詞解釋: 實體路徑:本機作業系統所看到的路徑。 Web 路徑:網頁伺服器所看到的路徑。 一般而言,在 ASP 程式碼中所用的檔案名稱都是伺服器所看到的名稱,必須經由下列兩種方式,才能轉到標準的實體絕對路徑,此時才能對檔案進行各種處理。 變數:Request.ServerVariables("PATH_TRANSLATED") 函數:Server.MapPath(fileName)

存取磁碟機、檔案或資料夾 若要存取現有的磁碟機、檔案或資料夾,請使用 FileSystemObject 物件中相關的方法,如下: GetFile() GetFolder() GetDrive() 這三個函式的輸入都是一個路徑,輸出則是相關的物件,我們就可以使用此物件來取得相關的性質或是呼叫相關的方法。

範例20-3 主題:列出檔案的屬性 說明 Webpage: remote host, local host 程式碼重點 本範例使用 FileSystemObject 物件的 GetFile() 方法,抓出檔案物件,然後列舉此檔案物件的屬性。 Open question: 如何自動列出所有性質? file = fso.GetFile(fullPath);

範例20-4 主題:開啟檔案進行讀寫 說明 Webpage: remote host, local host 程式碼重點 使用 Server.MapPath() 來產生實體絕對路徑。 產生 test.txt 檔案來進行寫讀。 absPath=Server.MapPath(fileName); // 轉成實體絕對路徑 // 2 代表寫入,true 代表若檔案不存在,則自動產生新檔案 fid = fso.OpenTextFile(absPath, 2, true); fid.WriteLine(string); //將字串寫入檔案 fid = fso.OpenTextFile(absPath, 1); // 1 代表唯讀 output = fid.ReadAll(); //讀取檔案所有資料

範例20-5 主題:檢查硬碟所剩空間 說明 Webpage: remote host, local host 程式碼重點 d is the object for a give drive. d = fso.GetDrive(fso.GetDriveName(drivePath))

新範例 主題:列出硬碟相關性質 說明 Webpage: remote host, local host 程式碼重點 Open question: 如何自動列出所有性質? drive = fso.GetDrive(“c:”)

20-2:目錄處理 本小節介紹ASP對MS Windows目錄的處理。

範例20-6 主題:列出資料夾的屬性 說明 Webpage: remote host, local host 程式碼重點 GetParentFolderName()取得上層目錄名稱。 GetFolder()取得此目錄物件。 Open question: 如何自動列出所有性質? fso = Server.CreateObject("Scripting.FileSystemObject"); fileName = Request.ServerVariables("SCRIPT_NAME"); absPath = Server.MapPath(fileName); parentFolder = fso.GetParentFolderName(absPath); folder = fso.GetFolder(parentFolder);

範例20-7 主題:列出目錄中的內容 說明 Webpage: remote host, local host 程式碼重點 「開放目錄瀏覽權限」的功能可經由 Web 伺服器的管理系統來達成,但是要修改此選項,須具有 Administrator 權限。此範例是直接使用 ASP 程式碼來達成此功能,因此不需要修改伺服器的設定。 var fileList=new Enumerator(fd.files); for (fileList.moveFirst(); !fileList.atEnd(); fileList.moveNext()){ … }

範例20-8 主題:建立與刪除目錄 說明 Webpage: remote host, local host 程式碼重點 CreateFolder()建立一個目錄。 DeleteFolder()刪除一個目錄。 使用“\\”來代替有特殊意義的“\”字元。 fso.CreateFolder ("C:\\Bogus"); fso.DeleteFolder ("C:\\Bogus");

GetSpecialFolder()函式 輸入參數值 回傳目錄 典型值 Windows 資料夾,包含由 Windows 作業系統所安裝的檔案 C:\WINDOWS 1 System 資料夾,包含程式庫、字型和週邊設備驅動程式 C:\WINDOWS\system32 2 暫存資料夾,是用來儲存暫存檔。它的路徑設在 TMP 環境變數中 C:\WINDOWS\Temp

範例20-9 主題:取得特殊目錄 說明 Webpage: remote host, local host 程式碼重點 有時候我們會需要寫入暫存檔,這時候fso.GetSpecialFolder(2)就很適合。 windowsFolder = fso.GetSpecialFolder(0); // Windows 資料夾 systemFolder = fso.GetSpecialFolder(1); // System 資料夾 temporaryFolder = fso.GetSpecialFolder(2); // 暫存資料夾

範例20-10 主題:寫入暫存檔案 說明 Webpage: remote host, local host 程式碼重點 取得一個暫存檔案名稱,再開檔於暫存資料夾中。 每次暫存檔案名稱都會不同,因此不會蓋掉原有的檔案名稱。 tempFile = fso.GetTempName(); tempDir = fso.GetSpecialFolder(2); fid = tempDir.CreateTextFile(tempFile);

20-3:應用範例一:記數網頁 本節將使用兩個小範例來說明如何使用 JavaScript 進行檔案讀取與目錄讀取的應用。

範例20-11 主題:將計數器的資料放在檔案中 說明 Webpage: remote host, local host 先產生一個 FileObject 的物件,再經由此物件的 OpenTextFile 方法來開啟記數檔案並回傳檔案指標 Out。 經由 Out 的 ReadLine 和 WriteLine 方法來對檔案進行讀取和寫入。 由於記數資料室儲存在檔案之中,因此並不會因為伺服器的重開機而造成記數資料的流失。

範例20-12 主題:將計數器功能寫在函數中 Webpage: remote host, local host, counter.inc 程式碼重點 說明 在上述範例中,記數檔案的名稱都是原網頁檔案名稱再加上 ".cnt",因此只要在原網頁導入 counter.inc,此網頁就具有個別記數功能。 檔案包含兩個函數,可以分別用在 JScript 和 VBScript。 counterFile=Request.ServerVariables("PATH_TRANSLATED")+".cnt";

20-4:應用範例二:線上檔案修改 本節介紹如何線上修改網頁的範例。

修改伺服器端網頁 一般而言,若要從遠方修改伺服器端的網頁,有下列兩種方式: 經由 telnet 連上伺服器,然後再修改之。 經由 ftp 連上伺服器,下載相關檔案並修改後,再經由 ftp 上傳檔案至伺服器。(UltraEdit 就有此內建的功能。) 事實上,我們也可以經由 Web 程式的技術,經由瀏覽器來修改遠端的伺服器檔案。

範例20-13 主題:線上檔案修改的範例 說明 連結:執行結果 檢視原始碼 連結:執行結果 檢視原始碼 說明 由於使用者可以經由「熱鍵」的方式來進行編修功能的啟動,因此在目標網頁 editfile.asp 並無法經由 Request.ServerVariables("HTTP_REFERER") 來取得來源網頁(在此例是 example.asp),因此我們必須在 editfile.inc 設定 session("source"),以方便當使用者按下「移除認證」時,視窗能載入來源網頁。

範例所牽涉的檔案(1) 在此範例中,總共牽涉到六個檔案,分別說明如下: example.asp 此網頁包含了 editfile.inc,所以可以進行經由 Web 的編修。 editfile.inc 此頁包含了「熱鍵」的定義,並設定了 session("source")。任何網頁只要保含此檔案,就具有遠方編修的功能。 editfile.asp 本頁之任務為讀入需要編修的檔案,並以 textarea 的方式呈現在瀏覽器中,以方便使用者編修。 delauth.asp 本頁之任務為消除認證資訊,並載入來源網頁example.asp。

範例所牽涉的檔案(2) auth.inc 本頁之任務為檢驗認證資訊是否存在: auth.asp 此頁之目的為進行密碼認證: 若存在,則不做任何事。 若不存在,則跳出認證視窗(auth.asp),請求輸入密碼,並在原視窗載入來源網頁(此例為 example.asp)。 任何需要密碼保護之網頁,只需要 include 此檔案,即可達到保護功能。 auth.asp 此頁之目的為進行密碼認證: 若通過,則於原視窗開啟被保護之目標網頁 editfile.asp。 若不通過,則請求重新輸入帳號、密碼 。

20-5:應用範例三:MATLAB 程式碼分享 本節利用檔案處理,分享MATLAB程式碼。

範例20-14 主題:MATLAB分享程式碼範例 說明 Webpage: remote host, local host 我們使用 JScript 來及時抽取出來每一個 MATLAB 函式的說明,並彙整在網頁上。同時我們也根據每一個檔案格式的不同,來分類成函式檔案(Function Files)和底稿檔案(Script Files),分開顯示。