سؤال

حسنا، لقد مر بعض الوقت منذ أن عملت مع ASP الكلاسيكية، لذلك أنا صدئ بعض الشيء. هنا سؤالي.

أحاول كتابة ملف إلى نظام الملفات باستخدام FSO. الرمز أدناه بسيط جدا. ومع ذلك، فإن الملف لا يظهر ولا توجد أخطاء تظهر. أعلم أنه يعمل على تشغيل التعليمات البرمجية لأنني يمكنني إضافة استجابة. كتابة قبل وبعد هذا المقتطف وظهور كلاهما في الإخراج. ومع ذلك، لا يتم إنشاء ملف، أي خطأ يتم طرحه. لقد غيرت حتى ذلك حتى هو مسار وهمية لإجبار خطأ. لا النرد. أضفت الجميع لقراءة وكتابة أذونات الدليل. ما زال كما هو.

الأفكار؟

إليك الرمز الخاص بي:

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

'Open the text file
Dim objTextStream
Set objTextStream = objFSO.OpenTextFile("d:\test.txt", True)

'Display the contents of the text file
objTextStream.WriteLine "howdy"

'Close the file and clean up
objTextStream.Close
Set objTextStream = Nothing
Set objFSO = Nothing
هل كانت مفيدة؟

المحلول

جرب هذا:

<%

if Append = true then
   iMode = 8
else 
   iMode = 2
end if
set oFs = server.createobject("Scripting.FileSystemObject")
set oTextFile = oFs.OpenTextFile("C:\wwwroot\Test.txt", iMode, True)
oTextFile.Write "Test Content"
oTextFile.Close
set oTextFile = nothing
set oFS = nothing

%>

حاولت هذا محليا، بعد تحديد الأذونات على الدليل الخاص بي وعملت.

يمكنك الحصول على المصدر الأصلي من هنا:http://www.freevbcode.com/showcode.asp؟id=89.

نصائح أخرى

السبب المحتمل الوحيد الذي لا ينتج عنه الرمز رسالة خطأ، هو أن لديك هذا في صفحتك:

On Error Resume Next

هذا سيء، لسبب رأيته للتو. يتجاهل بصمت فقط أي رسائل خطأ، وتتركك دون أدنى فكرة عن سبب عدم العمل كما هو متوقع.

(يجب أن تستخدم فقط للأجزاء المعزولة من التعليمات البرمجية حيث تتوقع خطأ، والتحقق في الواقع لحالة خطأ بعد كل عملية.)

قم بإزالة ذلك من صفحتك، ورسالة الخطأ التي ربما تحصل عليها هي أن المعلمات غير صالحة للمكالمات على هذا السطر:

Set objTextStream = objFSO.OpenTextFile("d:\test.txt", True)

لقد نسيت المعلمة الثانية، والتي هي وضع الإدخال / الإخراج. يجب عليك استخدام القيمة 1 للكتابة:

Set objTextStream = objFSO.OpenTextFile("d:\test.txt", 1, True)

بدلا من ذلك، يمكنك استخدام CreateTextFile الطريقة بدلا من ذلك:

Set objTextStream = objFSO.CreateTextFile("d:\test.txt", True)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top