0

مديريت فايل ها و دايرکتوری ها در ASP.NET

 
hosseinb68
hosseinb68
کاربر طلایی1
تاریخ عضویت : بهمن 1389 
تعداد پست ها : 1269
محل سکونت : بوشهر

مديريت فايل ها و دايرکتوری ها در ASP.NET

مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش اول )

طراحان و پياده کنندگان برنامه های وب در زمان پياده سازی اين نوع برنامه ها به مواردی برخورد می نمايند که لازم است به سيستم فايل سرويس دهنده وب  دستيابی داشته و عمليات متفاوتی را در ارتباط با فايل ها و دايرکتوری ها انجام دهند . مثلا" شرکتی که خدمات hosting را انجام می دهد ممکن است قصد طراحی  يک control panel را داشته باشد تا اين امکان را برای مشتريان خود فراهم آورد که با استفاده از يک اينترفيس وب ، اقدام به ويرايش فايل های وب سايت خود نمايند  .
در ASP کلاسيک ، به منظور دستيابی به سيستم فايل سرويس دهنده وب ، از FileSystemObject استفاده می گرديد . در دات نت ، مجموعه ای از کلاس ها به منظور دستيابی به سيستم فايل ، پيش بينی شده است . کلاس های فوق در System.IO قرار داشته و از آنان به منظور انجام عمليات متفاوتی استفاده می گردد :

  • بازيابی و نمايش اطلاعات فايل ها و دايرکتوری ها
  • عمليات بر روی مسيرها ( ترکيب آنان و استخراج عنصر بخصوصی )
  • خواندن و يا نوشتن  داده  در فايل ها و بافرهای حافظه

معرفی کلاس ها
از کلاس های زير به منظور کار با فايل ها ، دايرکتوری ها و stream استفاده می گردد :

  • Directory : متدهای استاتيکی به منظور کار با دايرکتوری ها و درايوهای منطقی را ارائه می نمايد .

  • DirectoryInfo : به منظور کار با يک دايرکتوری خاص و زيردايرکتورهای آن  استفاده می گردد .

  •  File : متدهای استاتيکی به منظور کار با فايل ها را ارائه می نمايد .

  • FileInfo : به منظور کار با يک فايل خاص استفاده می گردد .

  • Stream : کلاس پايه ای که از آن  به منظور خواندن و يا نوشتن در يک backing store  نظير سيستم فايل و يا شبکه ، استفاده می گردد .

  • StreamReader : با تلفيق  يک stream به منظور خواندن کاراکتر از يک backing store استفاده می شود .

  • StreamWriter : با تلفيق يک stream به منظور نوشتن کاراکتر در يک backing store استفاده می شود .

  • TextReader : متدهای لازم به منظور خواندن کاراکتر از هر منبعی ( نظير backing store ، رشته ها و ....) را  ارائه می نمايد .

  • TextWriter : متدهای لازم به منظور نوشتن کاراکتر در هر منبعی (  نظير backing store ، رشته ها و ....) را ارائه می نمايد .

  • BinaryReader : به منظور خواندن نوع های اوليه ای  نظير رشته ها ، اعدادصحيح و Boolean از يک stream استفاده می شود .

  • BinaryWriter :  به منظور نوشتن  نوع های اوليه ای نظير رشته ها ، اعدادصحيح و Boolean در  يک stream استفاده می شود .

  • FileSystem : به منظور خواندن و نوشتن داده در سيستم فايل استفاده می شود .

  • MemoryStream : به منظور خواندن و نوشتن داده در يک بافر حافظه استفاده می شود .

backing store : به منبعی که می توان با استفاده از يک شی Stream داده ئی را در آن نوشت و يا داده ئی را از آن خواند ، اطلاق می گردد . هر backing store يک شی stream را ارائه می نمايد که می توان با استفاده از آن با منبع مورد نظر ارتباط  برقرار نمود.

Directory و DirectoryInfo
برای کار با  دايرکتوری ها  از کلاس های   Directory و DirectoryInfo  استفاده می گردد . کلاس Directory ، تعدادی متد استاتيک را به منظور انجام عمليات دلخواه بر روی دايرکتوری ها ارائه می نمايد. کلاس DirectoryInfo ، مجموعه ای ازمتدهای غير استاتيک به منظور کار بر روی يک دايرکتوری خاص را ارائه می نمايد. از کلاس های فوق به منظور انجام عمليات زير استفاده می شود :

  •  ايجاد و حذف دايرکتوری

  • تشخيص وجود يک دايرکتوری

  • بدست آوردن ليستی از زيرداکتوری ها و يا فايل های موجود  در يک دايرکتوری خاص

  • دريافت اطلاعات در رابطه با دايرکتوری ها نظير تاريخ ايجاد ، صفات  و اعمال تغييرات  لازم در آنان

  • آگاهی از دايرکتوری جاری و تغيير آن ( صرفا" برای کلاس Directory )

  • مشخص نمودن ليستی از درايوهای موجود (  صرفا" برای کلاس Directory )

مثال : استفاده از متد Exists کلاس Directory به منظور تشخيص وجود يک دايرکتوری

تشخيص وجود يک دايرکتوری

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
      if Directory.Exists("C:\SrcoFolder") then
          Response.Write("دايرکتوری وجود دارد " )
      else
         Response.Write( "دايرکتوری وجود دارند")
end if
%>

متد Exists ، استاتيک است . بنابراين ما مجبور نخواهيم بود که يک متغير و نمونه از کلاس Directory را ايجاد نمائيم .

مثال :  استفاده از متد Exists کلاس DirectoryInfo به منظور تشخيص وجود يک دايرکتوری

تشخيص وجود يک دايرکتوری

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
Dim dir as DirectoryInfo
dir = new DirectoryInfo("C:\SrcoFolder")

  if dir.Exists = true then
      Response.Write( "دايرکتوری وجود دارد")
  Else
      Response.Write( "دايرکتوری وجود دارند")
end if
%>

برای تشخيص وجود يک دايرکتوری با استفاده از کلاس DirectoryInfo ، می بايست يک نمونه از کلاس فوق را ايجاد و در ادامه نام دايرکتوری را به عنوان پارامتر در اختيار آن قرار دهيم .

مثال : نمايش تاريخ  ايجاد يک دايرکتوری

نمايش تاريخ ايجاد يک دايرکتوری

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
Dim dir as DirectoryInfo
dir = new DirectoryInfo("C:\SrcoFolder")

  if dir.Exists = true then
     Response.Write( "دايرکتوری وجود دارد")
     Response.Write( "<br>Created: " & dir.CreationTime )
  Else
      Response.Write( "دايرکتوری وجود دارند")
end if
%>

File و FileInfo
برای دستيابی به اطلاعات مرتبط با فايل ها  از دو کلاس File و FileInfo استفاده می گردد . در اين رابطه می توان عمليات زير را انجام داد :

  •  ايجاد ، حذف ، باز نمودن ، کپی و انتقال فايل ها ( به منظور نوشتن ، خواندن ، اضافه نمودن و يا بستن فايل استفاده نمی گردد)

  •  بازيابی اطلاعات مرتبط با فايل ها نظير تاريخ ايجاد ، صفات  و اعمال تغييرات  لازم در آنان

کلاس File نظير کلاس Directory  دارای مجموعه ای از متدهای استاتيک به منظور انجام عمليات دلخواه در ارتباط با فايل ها است . کلاس FileInfo دارای مجموعه ای از متدهای غيراستاتيک و خصلت ها به منظور کار با يک فايل خاص است .

مثال :  استفاده از متد Exists کلاس File به منظور تشخيص وجود يک فايل

تشخيص وجود يک فايل

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>

<%

   if File.Exists("C:\SrcoFolder\Test.Txt") then
     Response.Write( "فايل وجود دارد")
   else
     Response.Write( "فايل وجود ندارد")
end if

%>

مثال :  استفاده از متد Exists کلاس FileInfo به منظور تشخيص وجود يک فايل

تشخيص وجود يک فايل

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>

<%

Dim  myfile as FileInfo
myfile = new FileInfo("
C:\SrcoFolder\Test.Txt")

if myfile.Exists = true then
    Response.Write( "<br>
فايل وجود دارد")
    Response.Write( "<br>Created: " & myfile.CreationTime )
  else
  Response.Write( "<br/>
فايل وجود ندارد")
end if


%>

در بخش دوم اين مقاله با  نحوه انجام عمليات متداول بر روی فايل ها و دايرکتوری ها ، آشنا خواهيم شد.

چهارشنبه 8 آذر 1391  9:20 AM
تشکرات از این پست
ravabet_rasekhoon aliagri cryingsphere
hosseinb68
hosseinb68
کاربر طلایی1
تاریخ عضویت : بهمن 1389 
تعداد پست ها : 1269
محل سکونت : بوشهر

مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش دوم )

مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش دوم )

در بخش اول اين مقاله با کلاس های ارائه شده در دات نت به منظور کار با فايل ها و دايرکتوری ها آشنا شديم . در اين بخش با نحوه انجام عمليات متداول در ارتباط با فايل ها و دايرکتوری ها آشنا خواهيم شد.

تغيير و تشخيص دايرکتوری جاری
زمانی که يک صفحه ASP.NET اجراء می گردد ، thread استفاده شده به منظور اجرای کد لازم جهت  توليد صفحه ، به صورت پيش فرض دارای  دايرکتوری جاری Windir%\System32 %  است . در صورت پاس دادن پارامتری نظير نام يک فايل به هر يک از کلاس های System.IO ، در دايرکتوری جاری عمليات مورد نظر انجام خواهد شد ( فرض می شود که فايل در دايرکتوری جاری است ).
بازيابی و تغيير دايرکتوری جاری از جمله عملياتی است که توسط کلاس  Directory انجام می شود . مثال زير نحوه تغيير دايرکتوری جاری با استفاده از  SetCurrentDirectory و بازيابی مجدد آن توسط  GetCurrentDirectory  را نشان می دهد .

تغيير و بازيابی دايرکتوری جاری

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>

<%

Directory.SetCurrentDirectory("C:\Test")
Response.Write( "
مسير جاری : " & _
         Directory.GetCurrentDirectory()  )
 

%>

نمايش ليست درايوهای منظقی موجود
به منظور نمايش ليست درايوهای منطقی موجود از متد GetLogicalDrives  کلاس Directory  استفاده می شود . متد فوق ، آرايه ای از نوع string شامل ليست درايوهای موجود را برمی گرداند .

  ليست درايوهای منطقی

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>

<%
dim Drives() as string
dim Drive as string

Drives = Directory.GetLogicalDrives()

For Each Drive in Drives
      Response.Write(drive)
      Response.Write("<BR>")
Next
 
%>

ايجاد يک دايرکتوری
برای ايجاد يک دايرکتوری از متد  CreateDirectory  کلاس Directory استفاده می شود . کد زير نحوه ايجاد يک ساختار سلسله مراتبی از دايرکتوری های مورد نياز را نشان می دهد .

  ايجاد دايرکتوری 

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>

<%
  Directory.CreateDirctory("C:\Test1\Test2\Test3") 
%>

پس از فراخوانی متد CreateDirectory ، در ابتدا بررسی لازم در رابطه با وجود يک دايرکتوری با نام Test1 در درايو C انجام می شود ، در صورتی که  دايرکتوری فوق وجود نداشته باشد ، آن را ايجاد می نمايد . در ادامه بررسی لازم در رابطه با دايرکتوری Test2 انجام خواهد شد و در صورت عدم وجود يک دايرکتوری با اين نام در دايرکتوری Test1 ، اين دايرکتوری نيز ايجاد می گردد . در نهايت ، متد CreateDirectory  بررسی لازم در رابطه با دايرکتوری Test3 را انجام می دهد و در صورتی که اين دايرکتوری در مسير مربوطه نيز وجود نداشته باشد ، آن را ايجاد می نمايد .
نکته : در صورتی که سعی نمائيم يک دايرکتوری را با نام خاصی ايجاد نمائيم که قبلا" ايجاد شده است ، با يک Exception مواجه نخواهيم شد . در صورتی که می خواهيم از وجود يک دايرکتوری قبل از ايجاد آن مطمئن شويم ، می توان از  متد Directory.Exists استفاده نمود . در صورتی که هر يک از بخش های آرگومان متد CreateDirectory  نادرست باشند، با يک ArgumentException مواجه خواهيم شد .

مثال : نمايش محتويات يک دايرکتوری
کلاس Directory  دارای متدهای متعددی به منظور بازيابی محتويات يک دايرکتوری است :

عملکرد پارامتر  متد

آرايه ای از نوع String شامل نام هر يک از دايرکتوری های موجود در مسير مشخص شده ، برگردانده می شود .

Pathname GetDirectories

مثال

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
  Dim dir As String
  Dim Subdirs() As String

  Subdirs=Directory.GetDirectories("C:\")
  For Each dir in Subdirs
    Response.Write( dir & "<br />" 

  Next
%>

 

عملکرد پارامتر  متد

آرايه ای از نوع String شامل نام هر يک از دايرکتوری های موجود در مسير مشخص شده و منطبق با الگوی جستجو ، برگردانده می شود.

Pathname,
Search Path
GetDirectories

مثال

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
  Dim dir As String
  Dim Subdirs() As String

  Subdirs=Directory.GetDirectories("C:\" , "Sa*")
  For Each dir in Subdirs
    Response.Write( dir & "<br />" 

  Next
%>

 

عملکرد پارامتر  متد

آرايه ای از نوع String شامل نام هر يک از فايل های های موجود در مسير مشخص شده ، برگردانده می شود .


Pathname
 
GetFiles

مثال

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
  Dim f As String
  Dim files() As String

  files=Directory.GetFiles("C:\Test" )
  For Each f in files
    Response.Write( f & "<br />" 

  Next
%>

 

عملکرد پارامتر  متد

آرايه ای از نوع String شامل نام هر يک از فايل های های موجود در مسير مشخص شده و منطبق با الگوی جستجو ، برگردانده می شود.


Pathname,
Search Path
 
GetFiles

مثال

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
  Dim f As String
  Dim files() As String

  files=Directory.GetFiles("C:\Test","sa*" )
  For Each f in files
    Response.Write( f & "<br />" 

  Next
%>

 

عملکرد پارامتر  متد

آرايه ای از نوع String شامل نام هر يک از فايل ها و دايرکتوری های  موجود در مسير مشخص شده ، برگردانده می شود .

Pathname GetFileSystemEntries

مثال

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
  Dim item As String
  Dim items() As String

  items=Directory.GetFileSystemEntries("C:\Test")
  For Each item in items
    Response.Write( item & "<br />" 

  Next
%>

 

عملکرد پارامتر  متد

آرايه ای از نوع String شامل نام هر يک از فايل ها و دايرکتوری های موجود در مسير مشخص شده است و  منطبق با الگوی جستجو ، برگردانده می شود.

Pathname,
Search Path
 
GetFileSystemEntries

مثال

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
  Dim item As String
  Dim items() As String

  items=Directory.GetFileSystemEntries("C:\Test","sa*")
  For Each item in items
    Response.Write( item & "<br />" 

  Next
%>

کلاس DirectoryInfo   نيز دارای متدهای GetDirectories ، GetFiles و GetFileSystemEntries  است که دارای عملکردی  مشابه متدهای کلاس Directory می باشند . در اين رابطه دو تفاوت عمده وجود دارد :

  • پارامترPathname به عنوان آرگومان در اختيار متدهای اشاره شده در کلاس DirectoryInfo قرار داده نمی شود. ( کلاس DirectoryInfo دارای آگاهی لازم در ارتباط با مسير می باشد ).

  • متدهای فوق ،آرايه ای  از نوع String را برنمی گردانند . متد GetDirectories  آرايه ای از نوع  DirectoryInfo ،  متد GetFiles آرايه ای از نوع FileInfo و متد GetFileSystemEntries  ، آرايه ای  از نوع FileSystemInfo را بر می گرداند .

در بخش سوم به بررسی ساير عمليات متداول در ارتباط با فايل ها و دايرکتوری ها خواهيم پرداخت .

چهارشنبه 8 آذر 1391  9:21 AM
تشکرات از این پست
cryingsphere
hosseinb68
hosseinb68
کاربر طلایی1
تاریخ عضویت : بهمن 1389 
تعداد پست ها : 1269
محل سکونت : بوشهر

مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش سوم )

در اين بخش به بررسی ساير عمليات متداول مرتبط با فايل ها و دايرکتوری ها و يک نمونه مثال کاربردی خواهيم پرداخت .

حذف يک دايرکتوری
 برای حذف يک دايرکتوری می توان از متدهای Directory.Delete و يا DirectoryInfo.Delete استفاده نمود. کد زير نحوه انجام اين کار را نشان می دهد :

حذف يک دايرکتوری

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
Directory.Delete("C:\Test")
Dim dir As DirectoryInfo
dir = New DirectoryInfo("C:\Test")
dir.Delete 

%>

توضيحات
در صورتی که قصد حذف يک دايرکتوری را داشته باشيم که موجود نمی باشد ، با يک خطای  DirectoryNoFound ، مواجه خواهيم شد. اگر قصد حذف يک دايرکتوری را داشته باشيم که در آن فايل و يا دايرکتوری های ديگری موجود می باشد، با يک خطای IOException مواجه خواهيم شد. برای حل اين مسئله ، می توان از نسخه overload متد Delete استفاده نمود. در چنين مواردی در زمان استفاده از متد Delete ، می بايست در رابطه با حذف و يا عدم حذف فايل ها و يا دايرکتوری های موجود در يک دايرکتوری  تعيين تکليف شود.  کد زير نحوه انجام اين کار را نشان می دهد :

حذف يک دايرکتوری با تعيين تکليف در رابطه با فايل ها و دايرکتوری ها موجود در آن 

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
Directory.Delete("C:\Test",True)
Dim dir As DirectoryInfo
dir = New DirectoryInfo("C:\Test")
dir.Delete (True)

%>

حذف يک فايل
برای حذف يک فايل می توان از متدهای File.Delete و يا FileInfo.Delete ، استفاده نمود . کد زير نحوه انجام اين کار را نشان می دهد :

حذف يک فايل

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
File.Delete("C:\Test.txt")
Dim file1 As FileInfo
file1 = New FileInfo("C:\Test.txt")
file1.Delete 

%>

توضيحات
در صورتی که قصد حذف فايلی را داشته باشيم که موجود نمی باشد ، با يک خطاء و يا exception خاصی برخورد نخواهيم کرد، مگر اين که بخشی از آدرس مشخص شده در مسير ( Pathname ) وجود نداشته باشد . در چنين مواردی با خطائی از نوع DirectoryNotFoundException مواجه خواهيم شد .

خصلت ها و صفات فايل ها و دايرکتوری ها
بر روی فايل ها و دايرکتوری ها می توان عمليات مشترک و مشابهی نظير "حذف " را انجام داد . فايل ها و دايرکتوری ها دارای خصايص مشترک و مشابهی نظير تاريخ ايجاد ، نام کامل و يا صفات نيز می باشند . کلاس FileSystemInfo دارای اعضائی است که می توان آنان را در ارتباط با فايل ها و يا دايرکتوری ها بخدمت گرفت . کلاس های DirectoryInfo و FileInfo ازکلاس فوق مشتق شده اند .

خصلت های کلاس FileSystemInfo 

توضيحات Read / Write نوع  نام

 صفاتی نظير Hidden ، archive و Read-only   ، مرتبط با يک فايل را برمی گرداند .

R / W

FileAttributes Attributes

زمان ايجاد فايل و يا دايرکتوری را برمی گرداند

R / W

System.DateTime CreationTime

آخرين زمان مراجعه به فايل و يا دايرکتوری را برمی گرداند

R / W

System.DateTime LastAccessTime

آخرين زمان ويرايش يک فايل و يا دايرکتوری را برمی گرداند

R / W

System.DateTime LastWriteTime

وضعيت موجود بودن يک فايل و يا دايرکتوری را مشخص می نمايد.

R

Boolean Exists

انشعاب فايل و يا دايرکتوری را برمی گرداند ( به همراه نقطه). برای يک  دايرکتوری،انشعاب متن موجود پس از آخرين نقطه  در نام است .

R

String Extension

 نام فايل و يا دايرکتوری را متناسب با نام دايرکتوری مربوطه بر می گرداند .

R

String Name

نام کامل فايل و يا دايرکتوری را برمی گرداند .

R

String FullName

متدهای کلاس  FileSystemInfo

توضيحات  نام

حذف فايل و يا دايرکتوری

Delete

بهنگام سازی هر نوع اطلاعات cache شده( نظير تاريخ ايجاد فايل)

Refresh

وضعيت موجود بودن يک فايل و يا دايرکتوری را مشخص می نمايد.

Exists

 

مثال : ايجاد يک مرورگر  فايل و دايرکتوری
برای آشنائی با نحوه استفاده ازصفات و برخی متدها و خصلت های کلاس های DirectoryInfo و FileInfo به بررسی يک مثال کاربردی ( ايجاد يک مرورگر فايل ) ، خواهيم پرداخت . برنامه  فوق يک مسير(PathName ) را از ورودی دريافت و تمامی فايل ها و دايرکتوری ها موجود در آن را نمايش خواهد داد .

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر

ايجاد يک مرورگر فايل و دايرکتوری

<%@ Import Namespace="System.IO" %>

<script runat="server">
Sub Page_Load( sender as object, e as EventArgs)
    if not Request("dir") is nothing then
        DirName.Value = Request("dir")
   end if
End Sub
</script>

<Html dir="rtl">
<font face="Tahoma" size="3">
<h3>مرورگر فايل و دايرکتوری </h3></Font>
</html>

<form runat="server" dir="rtl">
نام دايرکتوری <input type="text" id="DirName" size="20" dir="ltr"
value="c:\program files\internet explorer" runat="server" >
<input type="submit" value="مشاهده ">
</form>

<%
dim dir as DirectoryInfo
dim anchor as string

' Get the information about the selected directory

dir = new DirectoryInfo( DirName.Value )

Response.Write("<h4>دايرکتوری های موجود در " & DirName.Value & "</h4>")

Response.Write("<table>")
Response.Write("<tr bgcolor=""#336699"" style=""border-collapse: collapse; color: #ffffff"">")
Response.Write("<td>")
Response.Write( "نام" )
Response.Write("<td>")
Response.Write( "تاريخ آخرين تغييرات" )
Response.Write("</tr></font>")

dim SubDir as DirectoryInfo

for each SubDir in dir.GetDirectories()
  anchor = "<a href='" & "FileBrowser.aspx?dir=" & SubDir.FullName & "'>" + SubDir.Name & "</a>"
  Response.Write("<tr dir=""ltr"">")
  Response.Write("<td>" & anchor & "</td>" )
  Response.Write("<td>" & SubDir.LastWriteTime & "</td>" )
  Response.Write("</tr>")
next

Response.Write("</table>")

if ( not dir.Parent is nothing ) then
anchor = "<a href='" & "FileBrowser.aspx?dir=" & dir.Parent.FullName & "'>" & dir.Parent.FullName & "</a>"
Response.Write("<p>دايرکتوری ريشه " & anchor )
end if

Response.Write("<h3>فايل های موجود در " & DirName.Value & "</h3>")

Response.Write("<table>")
Response.Write("<tr bgcolor=""#336699"" style=""border-collapse: collapse; color: #ffffff"">")
Response.Write("<td>نام فايل</td>" )
Response.Write("<td>تاريخ آخرين تغييرات</td>" )
Response.Write("<td>ظرفيت</td>" )
Response.Write("<td>وضعيت فايل</td>" )
Response.Write("</tr>")

dim f as FileInfo
dim mystr As String

for each f in dir.GetFiles()
   Response.Write("<tr dir=""ltr"">")
   Response.Write("<td>" & f.Name )
   Response.Write("<td>" & f.LastWriteTime & "</td>")
   Response.Write("<td>" & f.Length.ToString() & "</td>" )
   if ( (f.Attributes and FileAttributes.ReadOnly) <> 0 ) then
      mystr ="فقط خواندنی"
   end if
  if ( (f.Attributes and FileAttributes.Hidden) <> 0 ) then
      mystr ="مخفی"
   end if
   if ( (f.Attributes and FileAttributes.System) <> 0 ) then
       mystr ="سيستم"
   end if
   if ( (f.Attributes and FileAttributes.Archive) <> 0 ) then
       mystr ="آرشيو"
   end if
   Response.Write( "<td>" & mystr & "</td>" )
   Response.Write("</tr>")
next
Response.Write("</table>")
%>

مرحله دوم :  پس از ذخيره کد فوق در فايلی با نام FileBrowser.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت : 

 

 

چهارشنبه 8 آذر 1391  9:21 AM
تشکرات از این پست
دسترسی سریع به انجمن ها