หน้าแรก
 การบ้าน
  C/C++ new
  Java new
  Windows Phone
  แจ้งเรื่องที่ต้องการ
 บทความ
  .NET
  Android
  Blackberry
  C++Builder
  Delphi
  Java
  Mobile
  Open Source
  Pocket PC
  Visual Basic
  Web
  Windows Phone
  Others
 แบบเรียนฟรี
  ASP
  ASP.NET Webmatrix
  C++
  eVB
  J2ME
  Java
  PHP
 ซอร์สโค้ด
  Android
  ASP
  C++
  VC++
  CGI-Perl
  Delphi
  Java
  jQuery
  PHP
  Visual Basic
  .NET
 บริการจากเรา
  เปิดท้าย... ขายโค้ด
  Freeware
  อัตราค่าโฆษณา
  รายชื่อลูกค้า
  สถิติผู้เข้าเว็บ
 ดาว์นโหลด
 ค้นหาข้อมูล
 กระดานสนทนา
  .NET
  C/C++
  Delphi
  Java
  Palm/PocketPC
  Visual Basic
  Web
  อื่นๆ
 กระดานงาน
 ลิงค์เว็บ
 เกี่ยวกับผม
 อัตราค่าโฆษณา
Social Network

Facebook  Twitter  YouTube
 New Article
 Webboard
 Freelanceboard
Freeware
โปรแกรมเบอร์ดี (BerDee)
โปรแกรมเบอร์ดี (Android)
เกมส์เป่ายิ้งฉุบ
เกมส์เป่ายิ้งฉุบ(Android)
WebcamMonitor
WebcamMonitor(Windows)
scSendMail
scSendMail(Windows)
MSN Caption
MSN Caption(Windows)
  Freelance comment
  ติดต่อสอบถามมาได้ตลอดนะ...
2015-07-29 13:35:58
  ถ้าผมต้องการเว็บที่พัฒน...
2015-01-18 15:33:54
  ถ้าผมต้องการเว็บที่พัฒน...
2015-01-18 15:32:51
  ติดต่อสอบถามเข้ามาได้นะ...
2014-01-06 12:47:38
  ถ้ายังหาคนสอนไม่ได้ ก็ลอ...
2013-07-06 01:04:37
  สนใจส่งขอบเขตมาคุยราคาก...
2013-03-24 18:54:20
  ถ้ายังไม่มีคนรับงานติดต...
2012-12-16 19:18:14
  สนใจคะ ติดต่อ 0905076277...
2012-11-12 11:07:46
  รับทำโปรเจ็คนักศึกษาหรื...
2012-10-29 03:10:46
  sukit_te34@hotmail.com...
2012-10-29 03:09:36
  Webboard comment
  ฉันอยากเจอเธอ
ฉันอยู่ใ...

2024-04-26 23:45:32
  สวัสดี คุณต้องการหาเงินจ...
2024-04-26 22:13:52
  เขียนโปรแกรมภาษาจาวา
1.โ...

2023-09-12 11:40:28
  ต้องลอง debug ดูเองครับ
ไล่...

2023-06-08 18:03:06
  ร้านค้าแห่งหนึ่ง จะต้องน...
2021-09-21 08:47:08
  จงเขียนโปรแกรมดำเนินการ...
2021-05-07 15:06:11
  จงเขียนโปรแกรมสำหรับคำน...
2021-03-09 14:21:45
  ขอดู...
2021-01-04 23:56:45
  ขอโค้ดเพื่อทำการเรียนกา...
2020-12-09 23:02:09
  แล้ว ?...
2020-12-09 10:56:34
  Homework comment
  เขียนโปรแกรมเพื่อรับค่า...
2022-02-24 10:45:17
  จากโค้ดนี้อะครับ พอดีลอง...
2021-03-22 01:22:39
  จากโค้ดนี้อะครับ พอดีลอง...
2021-03-22 01:22:39
  โจทย์การบ้าน c++ เขียนรูปแ...
2020-04-06 11:01:33
  แบบนี้ขอเป็น ภาษา php หน่อย...
2019-09-18 14:36:34
  ผมไม่อยากให้คุณได้คะแนน...
2019-04-27 01:29:07
  อาจารย์เขาบอกแนวข้อสอบม...
2019-04-27 00:44:29
  ขอสอบถามการเขียน c++ ครับ เ...
2018-04-02 12:19:21
  โค้ดตัวอย่างศึกษาให้เข้...
2017-11-26 14:50:05
  คำนวณค่าน้ำโดยรับค่ามิเ...
2017-11-20 23:15:26
  Article comment
  เท่าที่อ่าน error คือพื้นที่...
2022-03-23 13:56:48
  เรียน สอบถามปัญหา กับ อ.คร...
2022-01-24 17:39:49
  ต้องการ ให้เขียน โปรแกรม ...
2019-12-09 11:39:58
  รับเขียน arx จาก vc++ 2017 ล็อคโปร...
2019-09-19 09:48:09
  ทำการ register ไฟล์ที่ชื่อ mswinsck.oc...
2019-09-17 14:05:56
  ใน vb 6 ไม่มี component winsock เลยค่ะ ส...
2019-09-03 10:31:02
  รบกวนขอสอบถามหน่อยนะครั...
2019-03-04 05:31:04
  สามารถนำตัวหนังสือจากภา...
2018-12-25 08:54:32
  มีcode ของ VB ไหมค่ะ ถ้ามีรบกว...
2017-09-28 16:50:02
  น่าจะได้ครับ ไม่เคยลอง
...

2017-07-11 09:59:35
  9Mcode comment

Link Exchange

อัตราค่าโฆษณา
 
แสดงรายชื่อ Folder และ File ฝั่ง Server ด้วย ASP (อ่าน 14,578)
ศุภกิจ ทองดี (9'M) บทความโดย: นาย ศุภกิจ ทองดี (9'M)
e-mail: webmaster@sourcecode.in.th
mobile: 09-5009-5351
Line: suppakit.thongdee
Youtube: 9Mcode
Fanpage: Sourcecode.in.th
   
: ดาว์นโหลดตัวอย่างโปรแกรม (ดาว์นโหลด 2,583 ครั้ง)

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

 
 
Freelanceรับพัฒนาโปรแกรม และเว็บ โดย 9'M 

บทความนี้เกิดจากการที่ผมได้รับงาน ที่ต้องมีการทำงานที่เกี่ยวข้องกับ Folder และ File โดยจะต้อง List รายชื่อของ Folder และ File ต่างๆที่อยู่ทางฝั่งของเครื่อง Server เพื่อให้ ผู้ใช้สามารถทำการลบ หรือ สร้าง Folder และ File บนเครื่อง Server แต่สำหรับบทความนี้ จะเป็นแค่แสดง Folder และ File เท่านั้นนะครับ

ผมมีวิธีการสร้างโปรแกรมโดยใช้ FileSystemObject ซึ่งเป็น Object ที่มีอยู่บนเซิร์ฟเวอร์ (ซึ่งมีให้ใน PWS และ IIS ) ซึ่งโค้ดทั้งหมดมีดังนี้ครับ

<%
Function ShowImageForType(strName)
Dim strTemp

strTemp = strName

If strTemp <> "dir" Then
strTemp = LCase(Right(strTemp, Len(strTemp) - InStrRev(strTemp, ".", -1, 1)))
End If

Select Case strTemp
Case "asp"
strTemp = "asp"
Case "dir"
strTemp = "dir"
Case "htm", "html"
strTemp = "htm"
Case "gif", "jpg"
strTemp = "img"
Case "txt"
strTemp = "txt"
Case Else
strTemp = "misc"
End Select

strTemp = "<IMG SRC=""./images/dir_" & strTemp & ".gif"" WIDTH=16 HEIGHT=16 BORDER=0>"

ShowImageForType = strTemp
End Function
%>
<%
Dim strPath
Dim objFSO
Dim objFolder
Dim objItem

strPath = "./"

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")


Set objFolder = objFSO.GetFolder(Server.MapPath(strPath))

%>
Contents of <B><%= strPath %></B><BR>
<BR>
</p>

<TABLE BORDER="5" BORDERCOLOR="#003399" CELLSPACING="0" CELLPADDING="2">
<TR BGCOLOR="#0066CC">

<TD><FONT COLOR="#FFFFFF"><B>File Name:</B></FONT></TD>

<TD><FONT COLOR="#FFFFFF"><B>File Size (bytes):</B></FONT></TD>

<TD><FONT COLOR="#FFFFFF"><B>Date Created:</B></FONT></TD>

<TD><FONT COLOR="#FFFFFF"><B>File Type:</B></FONT></TD>
</TR>
<%

For Each objItem In objFolder.SubFolders
If InStr(1, objItem, "_vti", 1) = 0 Then
%>

<TR BGCOLOR="#91C8FF">
<TD ALIGN="left" ><%= ShowImageForType("dir") %>&nbsp;<A HREF="<%= strPath & objItem.Name %>"><%= objItem.Name %></A></TD>
<TD ALIGN="right"><%= objItem.Size %></TD>
<TD ALIGN="left" ><%= objItem.DateCreated %></TD>
<TD ALIGN="left" ><%= objItem.Type %></TD>
</TR>
<%
End If
Next

For Each objItem In objFolder.Files
%>

<TR BGCOLOR="#91C8FF">
<TD ALIGN="left" ><%= ShowImageForType(objItem.Name) %>&nbsp;<A HREF="<%= strPath & objItem.Name %>"><%= objItem.Name %></A></TD>
<TD ALIGN="right"><%= objItem.Size %></TD>
<TD ALIGN="left" ><%= objItem.DateCreated %></TD>
<TD ALIGN="left" ><%= objItem.Type %></TD>
</TR>
<%
Next

Set objItem = Nothing
Set objFolder = Nothing
Set objFSO = Nothing

%>
</TABLE>

ตัวอย่างการ Run โปรแกรม

อธิบายโปรแกรม

จากโค้ด จะเห็นได้ว่ามี function ที่ชื่อ ShowImageForType(strName) ซึ่งเป็น function ที่ใช้ในการ
return ค่าของ รูป icon ของ Folder และชนิดของไฟล์ต่างๆ ซึ่งได้แก่ asp, htm(แทนไฟล์ htm และ html), img(แทนไฟล์ gif และ jpg), txt(แทน Text ไฟล์) และ misc(แทนไฟล์ อื่นๆ)

โดยมีวิธีการคือ เมื่อเราได้ทำการเรียก function ShowImageForType และ ส่งอาร์กิวเมนต์ strName ซึ่งเป็นชื่อของไฟล์ใดๆ แต่ถ้าเป็น Folder เราจะส่ง "dir" มาแทน จากนั้น เราจะทำการตรวจสอบนามสกุลว่าเป็นไฟล์ชนิดใด แล้วทำการ return ชื่อของรูป ที่ตรงกับไฟล์ๆนั้น

ส่วนโค้ดหลักของโปรแกรมจะเป็นการสร้าง File System Object เพื่อติดต่อกับระบบไฟล์ โดยมีรูปแบบคือ

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

และเมื่อเราได้สร้าง File System Object แล้ว ต่อไปเราจะทำการสร้าง Folder Object

Set objFolder = objFSO.GetFolder(Server.MapPath(strPath))

โดย strPath คือ Path ของ Folder ที่เราต้องการ

เมื่อเราได้สร้าง Folder Object เสร็จสิ้นแล้ว ต่อไปเราก็จะใช้คำสั่ง For each เพื่อวนลูป แสดงรายชื่อของ Sub Folder ที่มีครับ ส่วนของการแสดงรายชื่อของไฟล์จะทำโดยใช้คำสั่ง For each เพื่อวนลูป แสดงรายชื่อของ File ที่มีใน Folder Object เช่นกัน

ปิดท้าย

จากโค้ดมีคำสั่ง If InStr(1, objItem, "_vti", 1) = 0 Then ซึ่งใช้ในการตรวจสอบว่าเป็น Forder ของระบบเว็บเซิร์ฟเวอร์ หรือไม่ (ตรวจสอบว่า ภายในตัวแปร objItem มีข้อความ "_vti" อยู่หรือไม่ ) หากว่าเป็นของระบบ จะไม่ทำการแสดงชื่อของ Folder นั้นออกมา

จะเห็นได้ว่าเมื่อเราได้สร้าง Folder Object ขึ้นมาแล้วนั้น เราจะเรียกใช้ Property ต่างๆ เช่น Size, DateCreated และ Type รวมทั้ง เราสามารถเรียกใช้ Mothodeในการจัดการไฟล์ เช่น Copy, Delete ,Move ด้วยเช่นกัน

หมายเหตุ : หากเครื่องของคุณได้ทำการลงโปรแกรมป้องกันไวรัสเช่น Norton Antivirus โปรแกรมป้อนไวรัสจะมีการแจ้ง เตือนการ Run Script ที่อันตราย(ที่เป็นอย่างนี้เพราะ Script นี้มีการติดต่อกับ file กับเครื่อง ครับ ) ซึ่งเราสามารถที่จะเลือกว่าจะให้ Run ได้หรือไม่

ผมคิดว่าคุณคงจะสามารถประยุกต์ใช้งานอื่นๆกันได้แน่ๆครับ แล้วพบกันใหม่ :-P

: ดาว์นโหลดตัวอย่างโปรแกรม (ดาว์นโหลด 2,583 ครั้ง)
 

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

สอบถาม
  • ห้ามการโฆษณา หากต้องการติดต่อหาลูกค้า ติดต่อโฆษณาโดยตรงได้ที่ webmaster@sourcecode.in.th
  • ห้ามใช้คำหยาบและคำพูดที่ไม่เหมาะสม
  • ขอสงวนสิทธิหากตรวจพบ ข้อความที่ไม่เหมาะสม ข้อความนั้นจะถูกลบทันที
ชื่อ
อีเมล์
รายละเอียด

 
 
คลิปสอนเขียนโปรแกรม
เรียนเขียนโปรแกรมดอทเน็ต
เรียนเขียนโปรแกรมแอนดรอยด์
เรียนเขียนโปรแกรมเบล็คเบอร์รี่
เรียนเขียนโปรแกรมซี ซีพลัสพลัส
เรียนเขียนโปรแกรมจาวา
เรียนการใช้งานลินุกส์
เรียนการเขียนโปรแกรมวินโดว์โฟน
เรียนการเขียนโปรแกรมพีเฮชพี มายเอสคิวเอล
อัตราค่าโฆษณา
 
บทความที่เกี่ยวข้อง

เริ่มต้นพัฒนาเว็บ PHP ด้วย XAMPP

เริ่มต้น Ajax ด้วยการสร้างนาฬิกา

แสดง Drive ของฝั่ง Client ด้วย JavaScript

เลือก Download รูปภาพด้วย ADODB Stream

Downlod หน้าเว็บ ของเว็บอื่น ด้วย ASP

Upload File ด้วย PHP

สร้างภาพ Jpeg แบบ Dynamic ด้วย PHP

ติดตั้ง PHP 4 บน WINDOWS 9X, Me และ NT(IIS2 และ IIS3)

เทคนิคการเปลี่ยนใช้ภาษาไทยกับ Dreamweaver

ติดตั้ง PHP 4 บน WINDOWS 2000
Tutorial
eVB Tutorial
ASP.NET Webmatrix Tutorial
J2ME Tutorial
C++  Tutorial
Java  Tutorial
PHP Tutorial
ASP Tutorial
 
แบบสำรวจ

Home - Article - Tutorial - Sourcecode - Dev Handbook - Search - WebBoard - Links - About Us

สงวนลิขสิทธิ์ ห้ามคัดลอก ทำซ้ำ แก้ไข ดัดแปลง ไม่ว่าในรูปแบบใด โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร
เลขทะเบียนพาณิชย์อิเล็กทรอนิกส์จากกระทรวงพาณิชย์: 7100503002000
Copyright 2001 SourceCode.in.th