ASP、特に静的ファイルを生成する必要がある cms システムでは、いくつかのファイルを判断、作成、削除する必要があることがよくあります。基本的に基本的なニーズを満たすものをいくつか紹介します。
次のようにコードをコピーします。
'======================================
'ファイルのサフィックスを取得
'======================================
関数 Get_Filetxt(ByVal t0)
ディムt1
IF Len(t0)<2 または Instr(t0,".")=0 then Get_Filetxt=False:Exit Function
t1=分割(t0,".")
Get_Filetxt=Lcase(t1(Ubound(t1)))
終了機能
'======================================
'任意のファイルを読み取るための純粋なコード
'======================================
関数LoadFile(ByVal t0)
IF Len(t0)=0 then 関数を終了
IF Sdcms_Cache then
IF Check_Cache("LoadFile_"&t0) then
Create_Cache "LoadFile_"&t0,LoadFile_Cache(t0)
終了IF
LoadFile=Load_Cache("LoadFile_"&t0)
それ以外
LoadFile=LoadFile_Cache(t0)
終了IF
終了機能
関数LoadFile_Cache(ByVal t0)
ディム t1、stm
エラー時は次へ再開
IF Len(t0)=0 then 関数を終了
t1=空
Set Stm=Server.CreateObject("Adodb.Stream")
Stm付き
.Type=2'このモードで読み取ります
.mode=3
.charset=文字セット
。開ける
.loadfromfile Server.MapPath(t0)
t1=.readtext
。近い
で終わる
Stm=何も設定しない
エラーが発生した場合
LoadFile_Cache="""&t0&"""&Err.Description:Err.Clear
それ以外
ロードファイルキャッシュ=t1
終了IF
終了機能
'======================================
'ファイルが存在するかどうかを確認する
'======================================
関数 Check_File(ByVal t0)
ディムF
t0=サーバー.マップパス(t0)
Set Fso=CreateObject("Scripting.FileSystemObject")
Check_File=Fso.FileExists(t0)
Fso=何も設定しない
終了機能
'======================================
'フォルダが存在するか確認してください
'======================================
関数 Check_Folder(ByVal t0)
ディムF
t0=サーバー.マップパス(t0)
Set Fso=CreateObject("Scripting.FileSystemObject")
Check_Folder=Fso.FolderExists(t0)
Fso=何も設定しない
終了機能
'======================================
'フォルダーの作成(レベル無制限)
'======================================
関数 Create_UpFile(ByVal t0)
ディム t1、t2、objFSO、i
エラー時は次へ再開
t0=サーバー.マップパス(t0)
IF InStr(t0,"/")<=0 または InStr(t0,":")<=0 then:Create_upfile=False:関数を終了
Set objFSO=CreateObject("Scripting.FileSystemObject")
IF objFSO.FolderExists(t0) then:Create_upfile=True:関数を終了
t1=分割(t0,"/"):t2=""
i=0 から UBound(t1) まで
t2=t2&t1(i)&"/"
objFSO.FolderExists(t2) でない場合、objFSO.CreateFolder(t2)
次
objFSO=Nothing を設定します
IF Err=0 then Create_upfile=True:Else Create_upfile=False:Echo "Create_upfile:"&Err.Description&"<br>":Err.Clear
終了機能
サブ保存ファイル(ByVal t0,ByVal t1,ByVal t2)
薄暗いobjFSO、t3
Set objFSO=CreateObject("Scripting.FileSystemObject")
IF t0="" then Echo "ディレクトリを空にすることはできません!":Died
t3=サーバー.マップパス(t0)
IF t2="" または IsNull(t2) then t2=""
IF objFSO.FolderExists(t3)=False then Create_upfile(t0)
ビルドファイル t3&"/"&トリム(t1),t2
objFSO=Nothing を設定します
エンドサブ
関数 BuildFile(ByVal t0,ByVal t1)
ディムステム
エラー時は次へ再開
Set Stm=Server.CreateObject("Adodb.Stream")
Stm付き
.Type=2 'このモードで読み取ります
.Mode=3
.Charset=CharSet
。開ける
.WriteText t1
.SaveToFile t0,2
。近い
で終わる
Stm=何も設定しない
IF Err then Echo "BuildFile:"&Err.Description&"<br>":Err.Clear
終了機能
'======================================
'フォルダーの名前を変更します
'======================================
サブ RenameFile(ByVal t0,ByVal t1)
ディムF
エラー時は次へ再開
Set Fso=Server.CreateObject("Scripting.FileSystemObject")
IF Fso.FolderExists(Server.MapPath(t0)) then
Fso.MoveFolder Server.MapPath(t0),Server.MapPath(t1)
終了IF
Fso=何も設定しない
IF Err then Echo "Renamefile:"&Err.Description&"<br>":Err.Clear
エンドサブ
'======================================
'ファイル名を変更
'======================================
サブ RenameHtml(ByVal t0,ByVal t1)
ディムF
エラー時は次へ再開
Set Fso=Server.CreateObject("Scripting.FileSystemObject")
IF Fso.FileExists(Server.MapPath(t0)) then
Fso.MoveFile Server.MapPath(t0),Server.MapPath(t1)
終了IF
Fso=何も設定しない
IF Err then Echo "Renamehtml:"&Err.Description&"<br>":Err.Clear
エンドサブ
'======================================
'フォルダを削除
'======================================
サブ DelFile(ByVal t0)
ディム Fso,F
エラー時は次へ再開
Set Fso=Server.CreateObject("Scripting.FileSystemObject")
Set F=fso.GetFolder(Server.MapPath(t0))
IF Not IsNull(t0) then F.Delete True
IF Err then Echo "Delfile:"&Err.Description&"<br>":Err.Clear
エンドサブ
'======================================
'ファイルを削除
'======================================
サブ DelHtml(ByVal t0)
ディムF
エラー時は次へ再開
Set Fso=Server.CreateObject("Scripting.FileSystemObject")
IF Fso.FileExists(Server.MapPath(t0)) then Fso.DeleteFile Server.MapPath(t0)
IF Err then Echo "DelHtml:"&Err.Description&"<br>":Err.Clear
エンドサブ
関数 Re_FileName(ByVal t0)
ディムt1
t0=Lcase(t0)
IF Len(t0)=0 then Re_FileName="{id}":関数を終了
t1=今()
'カスタムファイル名の処理
'IF Instr(t0,"{")>0 かつ Instr(t0,"}")>0 の場合
'IF Instr(t0,"{id}")=0 次に
't0=t0&"{id}"' 重複を避けるようにしてください
'終了IF
'終了IF
t0=置換(t0,"{y}",年(t1))
t0=Replace(t0,"{m}",Right("0"&Month(t1),2))
t0=置換(t0,"{d}",Right("0"&Day(t1),2))
t0=置換(t0,"{h}",Right("0"&時間(t1),2))
t0=置換(t0,"{mm}",右("0"&分(t1),2))
t0=置換(t0,"{s}",Right("0"&Second(t1),2))
Re_ファイル名=t0
終了機能