إنشاء ملف للأنماط CSS بتقنية ال ASP ربما شيء عادي جدا كما تسمع عن
إمكانيات ال FSO فهل جربت ذلك ؟؟ هل فكرت بالعمل بجدية في هذا الموضوع
ترى ما هي المشاكل الحقيقية التي ستواجهك ؟؟
انا عملت مثال بسيط جدا جدا لكن مفيد بشكل كبير في أعمالك المستقبلية
إن نويت تحسين مستواك ..
فكرة المثال كالتالي :
نقوم بتفحص ملف ال CSS في المجلد الذي سنستدعيه منه عن طريق الوصلة المعروفة لإدراج ملفات الأنماط
<link rel="stylesheet" type="text/css" href="style.css">
إن كان الملف موجودا سنقوم بالكتابة فوق ما هو موجود به يعني Overwrite
و إلا سنقوم بإنشاء الملف على نفس المجلد ثم نقوم بعمل تحديث ثم تعود
الصفحة لفحص الملف و طبعا سيكون موجودا و فارغا و سيتم الكتابة به ..
لنرى الكود ثم نعود للشرح :
<%
Response.Expires=0
Response.Buffer=1
' some statments give us the physical path on the server
' that we need to create a file in our site folder --> directly under root
currentPath=request.ServerVariables(30)
position=InstrRev(currentPath,"")
currentPage=mid(currentPath,position+1)
pathOnServer=left(currentPath,position)
'you can change the directory to create the file in sub directory
' just add the sub directory as : "directory" this is a sample :
' pathOnServer=pathOnServer & "images"
' here we can add the file name insted of magStyle.css
FileName=pathOnServer & "magStyle.css"
' هنا يتم انشاء كائن التحكم بالملفات
set FSO=Server.CreateObject("Scripting.FileSystemObject")
' يتم فحص الملف موجود أو لأ
IF FSO.FileExists(FileName) then
'إذا كان الملف موجود يقوم بالكتابة فوقه
set writer=FSO.openTextFile(FileName,2,0) ' 2 mode for write not appending
response.write "
<b><center><font face='tahoma' size='2'>" &_
"تم انشاء الملف بنجاح "
'هنا يتم كتابة أسطر الملف
' this is will be the source code for generated file.
writer.writeLine "<!--"
writer.writeLine "BODY {"
writer.writeLine "SCROLLBAR-SHADOW-COLOR: #000000;"
writer.writeLine "SCROLLBAR-TRACK-COLOR: #cce7fd;"
writer.writeLine "FONT-FAMILY: Tahoma, Verdana"
writer.writeLine "}"
writer.writeLine "A:active"
writer.writeLine "{"
writer.writeLine "COLOR: #ff0000;"
writer.writeLine "FONT-FAMILY: Tahoma, Verdana;"
writer.writeLine "TEXT-DECORATION: none"
writer.writeLine "}"
writer.writeLine "A:link"
writer.writeLine "{"
writer.writeLine "COLOR: #ff3300;"
writer.writeLine "FONT-FAMILY: Tahoma, Verdana;"
writer.writeLine "TEXT-DECORATION: none"
writer.writeLine "}"
writer.writeLine "A:hover"
writer.writeLine "{"
writer.writeLine "COLOR: #ff0000;"
writer.writeLine "FONT-FAMILY: Tahoma, Verdana;"
writer.writeLine "TEXT-DECORATION: underline"
writer.writeLine "}"
writer.writeLine "INPUT"
writer.writeLine "{"
writer.writeLine "BORDER-RIGHT: 1px solid;"
writer.writeLine "PADDING-RIGHT: 4px;"
writer.writeLine "BORDER-TOP: 1px solid;"
writer.writeLine "PADDING-LEFT: 4px;"
writer.writeLine "FONT-SIZE: 70%;"
writer.writeLine "PADDING-BOTTOM: 1px;"
writer.writeLine "BORDER-LEFT: 1px solid;"
writer.writeLine "PADDING-TOP: 1px;"
writer.writeLine "BORDER-BOTTOM: 1px solid;"
writer.writeLine "FONT-FAMILY: Tahoma, Verdana;"
writer.writeLine "BACKGROUND-COLOR: white"
writer.writeLine "}"
writer.writeLine "TEXTAREA"
writer.writeLine "{"
writer.writeLine "BORDER-RIGHT: 1px solid;"
writer.writeLine "PADDING-RIGHT: 4px;"
writer.writeLine "BORDER-TOP: 1px solid;"
writer.writeLine "PADDING-LEFT: 4px;"
writer.writeLine "FONT-SIZE: 70%;"
writer.writeLine "PADDING-BOTTOM: 1px;"
writer.writeLine "BORDER-LEFT: 1px solid;"
writer.writeLine "PADDING-TOP: 1px;"
writer.writeLine "BORDER-BOTTOM: 1px solid;"
writer.writeLine "FONT-FAMILY: Tahoma, Verdana;"
writer.writeLine "BACKGROUND-COLOR: #f8f8f8"
writer.writeLine "}"
writer.writeLine "BUTTON"
writer.writeLine "{"
writer.writeLine "BORDER-RIGHT: 1px solid;"
writer.writeLine "PADDING-RIGHT: 4px;"
writer.writeLine "BORDER-TOP: 1px solid;"
writer.writeLine "PADDING-LEFT: 4px;"
writer.writeLine "FONT-SIZE: 70%;"
writer.writeLine "PADDING-BOTTOM: 0px;"
writer.writeLine "BORDER-LEFT: 1px solid;"
writer.writeLine "PADDING-TOP: 0px;"
writer.writeLine "BORDER-BOTTOM: 1px solid;"
writer.writeLine "FONT-FAMILY: Tahoma, Verdana;"
writer.writeLine "BACKGROUND-COLOR: #f8f8f8"
writer.writeLine "}"
writer.writeLine "SELECT"
writer.writeLine "{"
writer.writeLine "BORDER-RIGHT: 1px solid;"
writer.writeLine "PADDING-RIGHT: 4px;"
writer.writeLine "BORDER-TOP: 1px solid;"
writer.writeLine "PADDING-LEFT: 4px;"
writer.writeLine "FONT-SIZE: 70%;"
writer.writeLine "PADDING-BOTTOM: 2px;"
writer.writeLine "BORDER-LEFT: 1px solid;"
writer.writeLine "PADDING-TOP: 2px;"
writer.writeLine "BORDER-BOTTOM: 1px solid;"
writer.writeLine "FONT-FAMILY: Tahoma, Verdana;"
writer.writeLine "BACKGROUND-COLOR: #f8f8f8"
writer.writeLine "}"
writer.writeLine "INPUT.radio"
writer.writeLine "{"
writer.writeLine "BORDER-RIGHT: medium none;"
writer.writeLine "BORDER-TOP: medium none;"
writer.writeLine "FONT-SIZE: 100%;"
writer.writeLine "BORDER-LEFT: medium none;"
writer.writeLine "BORDER-BOTTOM: medium none;"
writer.writeLine "FONT-FAMILY: Tahoma;"
writer.writeLine "BACKGROUND-COLOR: transparent"
writer.writeLine "}"
writer.writeLine ".big_text"
writer.writeLine "{"
writer.writeLine "FONT-WEIGHT: bolder;"
writer.writeLine "FONT-SIZE: 18pt;"
writer.writeLine "FONT-FAMILY: 'Simplified Arabic'"
writer.writeLine "}"
writer.writeLine "SPAN"
writer.writeLine "{"
writer.writeLine "FONT-SIZE: 70%;"
writer.writeLine "FONT-FAMILY: Tahoma, Verdana"
writer.writeLine "}"
writer.writeLine "-->"
ELSE
' يتم الدخول هنا حال عدم وجود الملف .. يتم انشاؤه
'ثم تحديث الصفحة و بالتالي عند إعادة التحقق سيكون الملف موجودا
' و سيتم كتابة أسطر الملف المطلوب
response.write "
<b><center><font face='tahoma' size='2'>" &_
"الملف غير موجود .. لحظات حتى يتم انشاء ملف "
set myFile=FSO.CreateTextFile(FileName)
'now file is created in the name which we assigned its value before..
'we have to refresh the page to enter to the values of the new style..
response.addHeader "refresh","2;url="& request.ServerVariables(29)
response.End
End IF %>
<!--
To use this style to effect your site just add this tag to the head of any page
<LINK REL=STYLESHEET TYPE="text/css" HREF="..path../fileName.css">
Code written by :
Mohd. Khalil Abu Salah
mohd_khalil@arabteam2000.com
-->اعتقد أن الأوامر معروفة لمن تابع تطبيقاتنا و ملم بأساسيات ال ASP و الجديد
كان فقط التالي :
set writer=FSO.openTextFile(FileName,2,0)
و هنا أنشأنا writer لتكون كمؤشر يقوم بالسماح لنا بالكتابة داخل الملف
المشار إليه و هذه من خصائص الفي بي سكريبت و قمنا من أجل الكتابة
باستخدام الطريقة writeLine حيث تقوم بكتابة أي جملة موضوعة بين ال ""
في أي ملف .. و هذا مثال سيكون ناتجه كتابة الفريق العربي للبرمجة داخل الملف ..
writer.writeLine "الفريق العربي للبرمجة"
أتمنى أن تكونوا قد استفدتم من هذا الدرس و أي استفسار أنا حاضر ..
بالتوفيق جميعا ..