Avatar billede thesurfer Nybegynder
28. september 2003 - 21:43 Der er 39 kommentarer og
1 løsning

fso.OpenTextFile, læs fra fil

hey folkens.
Jeg bruger WinXP Pro og IIS til at teste mine asp scripts.. nu har jeg brug for at læse noget tekst fra en fil.. jeg har

fundet noget kode der bliver brugt på adskellige websites hvor man kan lære asp.. så det skulle gerne funke..

her er koden (filen hedder "read.asp"):
--
<%
Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("userpass.asp")
Set f = fso.OpenTextFile(filespec,1)

' Læs linie for linie indtil slutningen af filen
Do While not f.AtEndOfStream
  Response.write f.ReadLine & "<br>"
Loop

f.Close
%>
--

filen indeholder noget tekst (filen hedder "userpass.asp"):
--
<%
'brugernavn1=password1
'brugernavn2=password2
%>
Fis af makker :)
--


ved at kommentere hel scriptet, og derefter fjerne en enkel kommentar ad gangen, har jeg fundet ud at problemet ligger i

denne linie:

Set f = fso.OpenTextFile(filespec,1)

jeg vil tro at det er "fso.OpenTextFile" delen af linien..

efter at have prøvet at køre siden et par gange får jeg denne besked:
HTTP 403.9 - Access Forbidden: Too many users are connected

og så kan jeg ikke få adgang min sider på localhost/et-eller-andet

normalt betyder det at jeg åbner en forbindelse, og lader være med at lukke den igen... men der står jo f.Close..

jeg har prøvet at indsætte response.write "time: " & time efter Set f = fso.OpenTextFile(filespec,1), men det bliver ikke udført.

det blev sq længere end nogen af mine dansk stile :).. oh well, any ideas?
Avatar billede cesil Nybegynder
28. september 2003 - 21:56 #1
prøv med response.write filespec
for at se hvor scriptet forventer din fil skal være.
Avatar billede netro Nybegynder
28. september 2003 - 21:59 #2
Du skal også huske at fjerne objektet igen:

Set fso = Nothing
Avatar billede thesurfer Nybegynder
28. september 2003 - 22:00 #3
den skriver stadigvæk Too Many Users.. kan man ikke sparke disse "users" af og starte om, uden at genstarte computeren?
Avatar billede cesil Nybegynder
28. september 2003 - 22:01 #4
det er vel dig der som du skriver prøver flere gange.
Er filen hvor scriptet forventer den skal være?
Avatar billede thesurfer Nybegynder
28. september 2003 - 22:03 #5
det her er hvad jeg har nu:

<%
Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("userpass.asp")
response.write "filespec: " & filespec
'Set f = fso.OpenTextFile(filespec,1)

' Læs linie for linie indtil slutningen af filen
'Do While not f.AtEndOfStream
'  Response.write f.ReadLine & "<br>"
'Loop
'
'f.Close
set fso = nothing
set filespec = nothing
%>

jeg kan ikke køre scripten igen forløbigt.. den siger 403.9 Too Many Users..
jeg tror jeg bliver nød til at genstarte computeren.. burde den ikke komme med en fejlmelding hvis den ikke kan finde filen?
Avatar billede cesil Nybegynder
28. september 2003 - 22:04 #6
response.end på linien efter response.write
Avatar billede thesurfer Nybegynder
28. september 2003 - 22:06 #7
jeg genstarter lige computeren og ser om der sker noget med de nye "indgreb" :)
Avatar billede thesurfer Nybegynder
28. september 2003 - 22:11 #8
filespec/stien er korrekt
Avatar billede cesil Nybegynder
28. september 2003 - 22:14 #9
Hvad med rettighederne til mappen hvor filen ligger. Er de iorden?
Avatar billede thesurfer Nybegynder
28. september 2003 - 22:16 #10
den har Read og Scripts only (execute permissions)
Avatar billede cesil Nybegynder
28. september 2003 - 22:17 #11
Højreklik på mappen -> Properties -> Security -> Add -> IUSR_MASHINNAME -> Add -> Ok
Avatar billede thesurfer Nybegynder
28. september 2003 - 22:20 #12
"Security"? den er der ikke.. er det ikke Win2000?
Avatar billede cesil Nybegynder
28. september 2003 - 22:22 #13
nej, men i xp er den default gemt. Jeg kigger lige hvor det er man henter den...
Avatar billede cesil Nybegynder
28. september 2003 - 22:23 #14
Avatar billede thesurfer Nybegynder
28. september 2003 - 22:29 #15
det er jo bare at share den på netværket.. ik? og man kan sætte permissions..
Avatar billede thesurfer Nybegynder
28. september 2003 - 22:31 #16
skal IUSR_MASHINNAME med navnet på min computer?
Avatar billede cesil Nybegynder
28. september 2003 - 22:33 #17
ja, er den ikke på listen
Avatar billede thesurfer Nybegynder
28. september 2003 - 22:34 #18
lige nu er der kun "Everyone" under "Group or user names" med "Allow" permissions i "Full Control", "Change" og "Read"
Avatar billede thesurfer Nybegynder
28. september 2003 - 22:37 #19
mit cpunavn tilføjet.. den kalder mig nu for "Internet Guest Accout (cpunavn\IUSR_cpunavn)".. permission "Allow" i "Full Control", "Change" og "Read"
Avatar billede thesurfer Nybegynder
28. september 2003 - 22:37 #20
*account
Avatar billede cesil Nybegynder
28. september 2003 - 22:38 #21
hvis everyone har full control burde det ihvertfald ikke være der fejlen ligger.
prøv lige med en txt fil istedet for en asp fil.

Jeg bliver nødt til at gå nu. Håber du finder ud af det, ellers kigger jeg imorgen
Avatar billede thesurfer Nybegynder
28. september 2003 - 22:40 #22
ok
Avatar billede cesil Nybegynder
29. september 2003 - 08:59 #23
filespec = Server.Mappath("userpass.asp")

prøv lige og ændre til en txt fil istedet. Du skriver filen skal hedde read.asp, her hedder den userpass.asp
Avatar billede thesurfer Nybegynder
29. september 2003 - 12:05 #24
userpass.asp er filen med username/password
read.asp er filen der indeholder koden til at læse fra userpass.asp ("...filespec = ..." ligger i read.asp)

jeg har prøvet med userpass.txt i stedet userpass.asp.. giver samme resultat.. den kan åbenbart ikke åbne tekst filer til læsning (heller ikke til skrivning) med .OpenTextFile

har du prøvet at køre eksempel hos dig? hvis ja, virkede det?
Avatar billede thesurfer Nybegynder
29. september 2003 - 17:22 #25
her er en demo: http://frip.dk/thesurfer/e/q/407070/
den viser om FileSystemObject er understøttet.. den prøver på at skrive til en fil, og derefter prøver den på at slette filen..

da frip.dk har begrænset FSO, vil det mislykkes (man får at vide at det ikke virker), og resten af dokumentet bliver udført..

jeg prøvede dette script på min computer, og det virkede ikke.. den loader bare og laver ingenting.
Avatar billede cesil Nybegynder
30. september 2003 - 09:24 #26
Hej igen
Undskyld jeg først svarer nu.
Det her virker hos mig. Det var rettigheder til mappen hvor du forsøger at oprette din fil der ikke var iorden.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1254">
<TITLE>Detecting System Components</TITLE>
<style type="text/css">
body, table, td { font-family: tahoma; font-size: 12px }
</style>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" TOPMARGIN="0" LEFTMARGIN="0" MARGINHEIGHT="0" MARGINWIDTH="0">

<br>
<%
On Error Resume Next      'hvis du udkommenterer den her kan du se fejlen 
OutHTML = ""

path = Server.MapPath("./fil/testfile.txt")  'samme nivea i fil mappe

Set FSO = CreateObject("Scripting.FileSystemObject")
Set act = FSO.CreateTextFile(path, True)
act.WriteLine("TestLine")
act.Close
Set act = Nothing
If Err = 0 Then
    OutHTML = OutHTML & "<BR>Creating of files supported..." & vbcrlf
Else
    OutHTML = OutHTML & "<BR>Creating of files <B>not</B> supported..." & vbcrlf
End If
fso.DeleteFile(path)
If Err = 0 Then
    OutHTML = OutHTML & "<BR>Deleting and Modifying of files supported..." & vbcrlf
Else
    OutHTML = OutHTML & "<BR>Deleting and Modifying of files <B>not</B> supported..." & vbcrlf
End If
Set FSO = Nothing
If Err > 0 then
    Response.Write "<B>Scripting.FileSystemObject not full supported.</B>" & vbcrlf
Else
    Response.Write "Detected:    <B><FONT COLOR=""#009900"">Scripting.FileSystemObject</FONT></B><BR><BR>" & vbcrlf
End if
Err.Clear
Response.Write OutHTML

%>
</FONT>
</BODY>
</HTML>
Avatar billede cesil Nybegynder
30. september 2003 - 09:36 #27
Avatar billede cesil Nybegynder
30. september 2003 - 09:38 #28
Eller måske dette kan hjælpe

Eller måske dette kan hjælpe:

Åbn mappen C:\Inetpub\wwwroot højreklik på din mappe med databasen - Vælg egenskaber - Klik på fanen sikkerhed - giv her IUSR skriverettigheder.

Åbn denne computer - Klik på menupunktet Funktioner - Mappeindstillinger - Klik på fanen Vis - Fjern flueben i "Brug Enkel Fildelign" så har du adgang til den før omtalte fane der hedder sikkerhed.
Avatar billede thesurfer Nybegynder
30. september 2003 - 16:40 #29
min struktur er: \inetpub\wwwroot\sites\readfile
alle mine sites ligger, i deres respektive mapper, i mappen "sites" mappen

jeg bruger winxp pro med FAT32 (ikke NTFS).. mon det kan ha' noget med det at gøre?

når jeg højreklikker på en eller anden mappe (f.eks. sites og/eller readfile) og vælger properties, kan jeg vælge mellem "Sharing" og "Web Sharing".

Under "Sharing" står der "You can share this folder with other users on your network.." og så er der en "Permissions" knap hvor jeg kan tilføje "MachineName\IUSR_MachineName" med permissions "Full Control, Change, Read".. I listen er der allerede "Everyone" med permissons "Full Control, Change, Read" sat til "Allow"..

Under "Web Sharing" står der "Internet Information Services" og jeg kan vælge "Share this folder", hvorefter den spørg om et alias til mappen.. her er "Read" valgt i "Access Permissions", og "Scripts" i "Application Permissions".. jeg har prøvet at vælge "Write" i "Access perms..", med samme resultat..

jeg har prøvet at share både sites og readfile mappen, og begge mapper hver for sig..

Jeg tror jeg vil prøve at restore en backup af IIS konfigurationen som jeg lavede da jeg installerede IIS.. jeg har nemlig før kommet til at disable en eller anden service, så jeg kunne ikke få localhost til at virke.. men her kan jeg godt få sites, der ikke bruger FSO, til at virke..

hvis det ikke virker, vil jeg prøve at afinstallere og geninstallere IIS..
Avatar billede thesurfer Nybegynder
30. september 2003 - 16:41 #30
PS: jeg har også læst guiden du linkede til hos webwizguide.info
Avatar billede cesil Nybegynder
30. september 2003 - 21:46 #31
Det er den her del du mangler at udføre

Åbn denne computer - Klik på menupunktet Funktioner - Mappeindstillinger - Klik på fanen Vis - Fjern flueben i "Brug Enkel Fildelign" så har du adgang til den før omtalte fane der hedder sikkerhed.

Når du har gjort det, får du fanebladet sikkerhed/security. Derefter kan du give rettigheder som beskrevet ovenfor.
Avatar billede thesurfer Nybegynder
01. oktober 2003 - 16:13 #32
det har jeg udført.. ellers kan du ikke gøre det her:

Under "Sharing" står der "You can share this folder with other users on your network.." og så er der en "Permissions" knap hvor jeg kan tilføje "MachineName\IUSR_MachineName" med permissions "Full Control, Change, Read".. I listen er der allerede "Everyone" med permissons "Full Control, Change, Read" sat til "Allow"..
Avatar billede cesil Nybegynder
01. oktober 2003 - 19:12 #33
nej nej. Jeg ved godt der er permissions under sharing. Glem sharing og glem permissions.
Du skal trylle et security faneblad frem. Du skal have 4 faneblade bagefter, nemlig general, sharing, SECURITY og customize. Det er DEN security der er interessant.
Avatar billede thesurfer Nybegynder
02. oktober 2003 - 01:14 #34
den der "SECURITY" tab/faneblad kommer ikke frem.. jeg har disabled "simple file sharing"..
her er nogle screenshots:
http://frip.dk/thesurfer/e/q/407070/no_simple_file_sharing.jpg
http://frip.dk/thesurfer/e/q/407070/websharing.jpg

kan det være fordi jeg kører med FAT32 i stedet for NTFS?
Avatar billede cesil Nybegynder
02. oktober 2003 - 08:23 #35
jeg ved ærlig talt ikke om det har noget med det at gøre. Måske du skulle smide et spørgsmål under xp
Avatar billede thesurfer Nybegynder
02. oktober 2003 - 17:16 #36
Jeg prøver en anden kategori.
Er det OK med dig hvis du får 30 points (for din hjælp og tålmodighed)?
Avatar billede cesil Nybegynder
03. oktober 2003 - 07:54 #37
fint nok :-)
Avatar billede thesurfer Nybegynder
03. oktober 2003 - 11:45 #38
hehe.. nu fik du 60.. behold dem bare :)
Hygge.
Avatar billede iho Nybegynder
19. oktober 2003 - 23:28 #39
Hej I to!
Jeg sad med et lignende problem (WinXP Pro NTFS) og kunne heller ikke få adgang til at åbne en fil vha OpenTextFile. Inspireret af jeres konversation satte jeg flueben i begge boxe i "Egenskaber for wwwroot" under fanebladet "Deling"; den sidste tillader netværksbrugere at ændre mine filer.
Men om det så er rigtigt og fornuftigt og sikkert osv. - det har jeg ingen anelse om, men det virker ;-)
Avatar billede thesurfer Nybegynder
25. oktober 2003 - 20:43 #40
Takker for infoen :)
Har lige prøvet det, men det virker ikke hos mig.. måske er det fordi jeg har XP PRO med FAT32 i stedet for NTFS..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester