يمكن لبرنامج التجميع الحصول على البيانات بشكل مباشر أو غير مباشر وفقًا للقواعد. لذلك ، سوف يكتب الكثير من الناس برنامج التجميع بأنفسهم للراحة. فكيف يجب أن يكتبوا برنامج التجميع؟ فيما يلي مثال رمز برنامج المجموعة التلقائية التي جمعها محرر Foxin للجميع.
نسخة الكود كما يلي:<٪
عند استئناف الخطأ التالي
const exploadpath = "/uploads/" 'مسار تخزين الملفات
const ALTERFILEEXT = "JPG ، WMA ، SWF ، GIF" المسموح به
'const allowfilesize = "200"
وظيفة getFile (url)
إذا url = "" ثم
وظيفة الخروج
آخر
url = trim (url)
إنهاء إذا
احصل على الملف
fileext = lace (mid (url ، instrev (url ، ".")+1)) 'نوع الملف
FILENAME = LCASE (MID (url ، instrev (url ، "/")+1 ، Instrrev (url ، ".")-instrev (url ، "/")-1)) 'اسم الملف بدون نوع الملف
newFilePath = getNow ("Date") و "_" & replace (formatDateTime (now () ، 3) ، ":" ، "") & "_" & cleanfilename (filename) & ".". & filext
if Instr ("،" & lace (ALTEMFILEEXT) & "،" ، "،" & filext & "،") = 0 ثم
getFile = "نوع الملف غير مسموح به"
وظيفة الخروج
إنهاء إذا
تعيين xmlhttp = server.createBject ("microsoft.xmlhttp")
XMLHTTP.Open "GET" ، url ، false
XMLHTTP.SEND
في حين أن xmlhttp.readystate <> 4
'xmlhttp.waitforresponse 1000
ويند
إذا كان xmlhttp.status <> 200 ثم
getFile = "خطأ في الحصول على ملف"
وظيفة الخروج
آخر
Set Folder = server.createObject ("scripting.filesystemObject")
اسم المجلد
المجلد = getNow ("السنة") و getNow ("شهر") '' مجلد ''
إذا كان المجلد
المجلد.
إنهاء إذا
إذا كان المجلد.
المجلد.
إنهاء إذا
تعيين المجلد = لا شيء
ملف = xmlhttp.responseBody
إذا كان lenb (ملف)> ALTERFILESIZE
getFile = "الملف كبير جدًا بحيث لا يمكن حفظه!"
وظيفة الخروج
آخر
اضبط ObjAdoStream = server.createBject ("ADODB.STR" و "EAM")
objadostream.open ()
ObjadoStream.type = 1
objadostream.write (ملف)
objadostream.savetofile (server.mappath (UploadPath & FolderName & "/" & Newfilepath))
objadostream.seteos
تعيين ObjadoStream = لا شيء
getFile = "<a href =" "" & UploadPath & FolderName & "/" & newFilePath & "" target = "" _ balnk ""> مجموعة نجاح </a> "
إنهاء إذا
إنهاء إذا
تعيين xmlhttp = لا شيء
وظيفة نهاية
٪>
<script runat = "server" language = "jscript">
وظيفة cleanfilename (str) {
str = str.replace (/[^_/. a-za-z/d]/ig ، "") ؛
str = str.replace (/^ budap///.//200/ ، "") ؛
إرجاع شارع
}
وظيفة getNow (n)
{
D = تاريخ جديد () ؛
التبديل (ن)
{
حالة "سنة":
إرجاع d.getyear () ؛
حالة "شهر":
العودة (d.getMonth () + 1) ؛
حالة "تاريخ":
إرجاع d.getDate () ؛
}
}
</script>
<٪ if request ("do") = "getFile" و request ("file") <> "" ثم
استجابة. write (getFile (طلب ("ملف"))))))
آخر ٪>
<form id = "gform" method = "post" action = "؟ do = getFile" style = "display: inline">
<name input = "file" type = "input" style = "font-size: 12px ؛" size = "40" value = "http://blog.xiaobin.net/uploads/200512/08_093616_01.gif">
<type type = "إرسال" name = "إرسال" value = "collection" class = "button">
</form>
<٪ نهاية إذا ٪>
ما سبق هو رمز مثال لبرنامج التجميع التلقائي. إذا كنت ترغب في معرفة أكثر عمقًا ، فيمكنك إدخال قناة التكنولوجيا الجديدة الخاطئة للتعرف عليها.