Avatar billede svjensen Nybegynder
28. oktober 2003 - 11:21 Der er 17 kommentarer og
1 løsning

Problem med casesensitive læsning af filer.

Som en del af et script tester jeg om et bestemt billede findes på serveren.

Mit problem er at den ikke godtager filer med .JPG som extension.
Kan jeg lave scriptet case-insensitive?

filnavn = "members/" & rsSpillere("medlemsnr") & ".jpg"
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(filnavn) Then %>
  <tr><td>
  <a href="mailto:<%= rsSpillere("email") %>" onmouseover="return overlib('', BORDER, 1, BACKGROUND, '<%= filnavn %>',HEIGHT, -30, CENTER, ABOVE, WIDTH, 60, HEIGHT, 90);"  onmouseout="return nd();">
  <img src="images/foto-thumb.gif" border=0>&nbsp;<%= rsSpillere("fornavn") %>&nbsp;<%= rsSpillere("efternavn") %></a></td>
<%response.write "<td class=TDRight>" & alder & " år</td><td class=TDRight>&nbsp;" & rsSpillere("spillertype") & "</td></tr>"

Else %>
    <tr><td><a href="mailto:<%= rsSpillere("email") %>" onmouseover="return overlib('Billede er på vej.', WIDTH, 105);" onmouseout="return nd();">
    <img src="images/foto-thumb.gif" border=0>&nbsp;<%= rsSpillere("fornavn") %>&nbsp;<%= rsSpillere("efternavn") %></a></td>
<%response.write "<td class=TDRight>" & alder & " år</td><td class=TDRight>&nbsp;" & rsSpillere("spillertype") & "</td></tr>"
End If
Avatar billede mnoer Nybegynder
28. oktober 2003 - 11:39 #1
du kan bruge uCase(DET DER SKAL SÆTTES TIL UCASE)
.. mener det er uCase den hedder, den sætter alt til store bogstaver
Avatar billede svjensen Nybegynder
28. oktober 2003 - 11:55 #2
Men derved bliver det vel ikke case-insensitive? Eller hur?

Hvis jeg forstår UCase rigtigt, så skifter den bare til at det skal være store bogstaver, og så er jeg vel lige vidt. Jeg vil jo gerne opnå, at den genkender filnavnet uanset om der er brugt store eller små bogstaver.
Avatar billede mnoer Nybegynder
28. oktober 2003 - 12:09 #3
hvis du laver alt til UCase vil du også kunne sammenligne det.
str1 = TeSt
str2 = test

if UCase(str1) = UCase(str2) Then
  OK
end if

er det ikke for at se om et billede allerede findes på serveren?
Avatar billede svjensen Nybegynder
28. oktober 2003 - 12:27 #4
Det scriptet skal gøre er, at tage filnavnet (medlemsnr+'.jpg') og hvis der eksisterer et billedet med dette navn, så skal det vises. Hvis ikke, så skal teksten 'Billede er på vej' vises.

Som eksempel kan vi tage '062.jpg'.
Problemet er, at hvis billedet er døbt '062.JPG' på serveren, så finder scriptet det ikke, da der er brugt store bogstaver i ext.

Såvidt jeg lige kan gennemskue det, så er det nødvendigt at sætningen 'If FSO.FileExists(filnavn) Then %>' på en eller anden måde kan laves om, så den er ligeglad med sore og småbogstaver.

Jeg har med andre ord altså ikke to tekststrenge jeg skal sammeligne, men en tekststreng, som scriptet skal forsøge at finde et match med blandt billederne.
Avatar billede svjensen Nybegynder
28. oktober 2003 - 12:29 #5
Jeg kan naturligvis bare omdøbe alle filer til at være småbogstaver, men det ville være rart, hvis det ikke var nødvendigt.
Avatar billede mnoer Nybegynder
28. oktober 2003 - 12:33 #6
skriver tilbage om en times tid
Avatar billede mnoer Nybegynder
28. oktober 2003 - 13:21 #7
Hvad kan brugere uploade? *.jpg *.JPG filer andre?
Avatar billede svjensen Nybegynder
28. oktober 2003 - 14:14 #8
Lige nu uploader vi manuelt via ftp. Men et af de kommende projekter er at uploade i f.m. med oprettelse af et nyt medlem.
Alle medlembillederne bliver i jpg

Kan jeg begrænse uploadet til en extension med kun små bogstaver?
Avatar billede svjensen Nybegynder
28. oktober 2003 - 14:16 #9
Så den tillader upload af '062.jpg' men ikke '062.JPG'?
Avatar billede mnoer Nybegynder
28. oktober 2003 - 14:23 #10
ja det kan man, eller du kan lave filformatet om til LCase, så hvis det er JPG vil det bare blive jpg.
Avatar billede svjensen Nybegynder
28. oktober 2003 - 14:54 #11
OK, men det bliver først senere.
Jeg vil stadig gerne have lavet det oprindelige case-insensitive hvis muligt.
Avatar billede mnoer Nybegynder
28. oktober 2003 - 15:39 #12
og det skal kun kunne tage jpg og JPG ?
Avatar billede svjensen Nybegynder
28. oktober 2003 - 20:24 #13
Ja.
Avatar billede mnoer Nybegynder
28. oktober 2003 - 23:19 #14
filnavn = "members/" & rsSpillere("medlemsnr") & ".jpg"
filnavn2 = "members/" & rsSpillere("medlemsnr") & ".JPG"
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(filnavn) Or FSO.FileExists(filnavn2) Then %>
  <tr><td>
  <a href="mailto:<%= rsSpillere("email") %>" onmouseover="return overlib('', BORDER, 1, BACKGROUND, '<%= filnavn %>',HEIGHT, -30, CENTER, ABOVE, WIDTH, 60, HEIGHT, 90);"  onmouseout="return nd();">
  <img src="images/foto-thumb.gif" border=0>&nbsp;<%= rsSpillere("fornavn") %>&nbsp;<%= rsSpillere("efternavn") %></a></td>
<%response.write "<td class=TDRight>" & alder & " år</td><td class=TDRight>&nbsp;" & rsSpillere("spillertype") & "</td></tr>"

Else %>
    <tr><td><a href="mailto:<%= rsSpillere("email") %>" onmouseover="return overlib('Billede er på vej.', WIDTH, 105);" onmouseout="return nd();">
    <img src="images/foto-thumb.gif" border=0>&nbsp;<%= rsSpillere("fornavn") %>&nbsp;<%= rsSpillere("efternavn") %></a></td>
<%response.write "<td class=TDRight>" & alder & " år</td><td class=TDRight>&nbsp;" & rsSpillere("spillertype") & "</td></tr>"
End If
Avatar billede svjensen Nybegynder
29. oktober 2003 - 07:37 #15
Se det tager jo godt nok højde for om scriptet kan finde billedet. Men billedet bliver ikke vist vist det ikke er skrevet med små bogstaver, fordi det er 'filnavn' der angives som source efterfølgende.

Jeg gider ikke bikse mere med det her problem. Jeg laver et upload system som automatisk laver lower case, så skulle jeg være ude over problemet i fremtiden.

Jeg er villig til at give dig pointene for din hjælp, men husk lige et svar.
Avatar billede mnoer Nybegynder
29. oktober 2003 - 09:24 #16
Prøv det her:

filnavn = "members/" & rsSpillere("medlemsnr") & ".jpg"
filnavn2 = "members/" & rsSpillere("medlemsnr") & ".JPG"
Set FSO = CreateObject("Scripting.FileSystemObject")

If FSO.FileExists(filnavn) Then %>
  <tr><td>
  <a href="mailto:<%= rsSpillere("email") %>" onmouseover="return overlib('', BORDER, 1, BACKGROUND, '<%= filnavn %>',HEIGHT, -30, CENTER, ABOVE, WIDTH, 60, HEIGHT, 90);"  onmouseout="return nd();">
  <img src="images/foto-thumb.gif" border=0>&nbsp;<%= rsSpillere("fornavn") %>&nbsp;<%= rsSpillere("efternavn") %></a></td>
<%response.write "<td class=TDRight>" & alder & " år</td><td class=TDRight>&nbsp;" & rsSpillere("spillertype") & "</td></tr>"

Else If FSO.FileExists(filnavn2) Then %>
  <tr><td>
  <a href="mailto:<%= rsSpillere("email") %>" onmouseover="return overlib('', BORDER, 1, BACKGROUND, '<%= filnavn2 %>',HEIGHT, -30, CENTER, ABOVE, WIDTH, 60, HEIGHT, 90);"  onmouseout="return nd();">
  <img src="images/foto-thumb.gif" border=0>&nbsp;<%= rsSpillere("fornavn") %>&nbsp;<%= rsSpillere("efternavn") %></a></td>
<%response.write "<td class=TDRight>" & alder & " år</td><td class=TDRight>&nbsp;" & rsSpillere("spillertype") & "</td></tr>"

Else %>
    <tr><td><a href="mailto:<%= rsSpillere("email") %>" onmouseover="return overlib('Billede er på vej.', WIDTH, 105);" onmouseout="return nd();">
    <img src="images/foto-thumb.gif" border=0>&nbsp;<%= rsSpillere("fornavn") %>&nbsp;<%= rsSpillere("efternavn") %></a></td>
<%response.write "<td class=TDRight>" & alder & " år</td><td class=TDRight>&nbsp;" & rsSpillere("spillertype") & "</td></tr>"
End If
Avatar billede svjensen Nybegynder
29. oktober 2003 - 09:38 #17
Det burde klare det.
Tak for hjælpen
Avatar billede mnoer Nybegynder
29. oktober 2003 - 09:49 #18
så lidt ;)
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