Avatar billede Slettet bruger
26. maj 2004 - 22:57 Der er 15 kommentarer

At checke om en fil/billede eksisterer

Jeg har en idé til et script, som jeg tror kan lade sig gøre.

På min hjemmeside har vi mistet vores download-server, og jeg har ikke råd til at købe en download-server. Derfor har jeg tænkt mig at åbne en lokal-server som folk kan downloade fra, hver gang jeg tænder computeren herhjemme. Dvs. når jeg er online, så kan folk downloade (download-serveren er aktiv) og når jeg har slukket computeren eller når jeg ikke er på nettet, så kan folk ikke downloade (download-serveren er inaktiv).

Men folk der prøver at downloade og får en "fil ikke fundet"-fejlbesked, kan tro at det er os på hjemmesiden der yder en dårlig service. Derfor vil jeg lave et script, som kan fortælle om serveren er online eller offline.

Jeg ved ikke om dette kan gøres på en lettere måde (f.eks. søgning efter om server-IP'en er online), men her er min idé:

Jeg vil lave et ASP-script der søger efter et billede, som jeg har liggende på serveren. Lad os kalde sige, at destinationen til billedet er følgende:

ftp://112/images/server_status.gif

Når en bruger besøger min hjemmeside, søger scriptet automatisk efter dette billede. Finder scriptet billedet på hjemmesiden, skal scriptet:

response.write("Serveren er online")

Men finder serveren ikke billedet (fil ikke fundet), så er det et tegn på at serveren ikke er online. Så skal scriptet:

response.write("Serveren er offline")

Er der nogen der har en idé om hvordan dette kan gøres? Kan man søge efter en bestemt fil på en server og få en status fremkaldt der fortæller om billedet er fundet eller ej?

Eller kan det gøres på en anden måde?

På forhånd tak.
Avatar billede mm12010 Nybegynder
27. maj 2004 - 08:14 #1
du kan teste om en given url er tilgængelig med ved at sende et http-request, se: http://www.eksperten.dk/spm/387473
Avatar billede mm12010 Nybegynder
27. maj 2004 - 08:21 #2
Avatar billede Slettet bruger
27. maj 2004 - 18:52 #3
Virker scriptet med ftp:// ? For det er det jeg skal bruge det til, ikke http://.
Avatar billede Slettet bruger
28. maj 2004 - 12:34 #4
Afvist,da scriptene desværre ikke kan klare at søge efter ftp://, hvilket er det jeg søger efter.
Avatar billede gorlist Nybegynder
28. maj 2004 - 14:00 #5
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
if FSO.FileExists("ftp://112/images/server_status.gif") then
response.write "Serveren er ikke online i øjeblikket" & vbcrlf
else
'Kast filen tilbage til brugeren
end if
Avatar billede gorlist Nybegynder
28. maj 2004 - 14:01 #6
UPS! Omvendt if-sætning!

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
if FSO.FileExists("ftp://112/images/server_status.gif") then
  'Kast filen tilbage til brugeren
else
  response.write "Serveren er ikke online i øjeblikket" & vbcrlf
end if
Avatar billede Slettet bruger
28. maj 2004 - 15:18 #7
gorlist, det virker ikke helt. Den bliver ved med at sige, at serveren er offline.

<%
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
if FSO.FileExists("ftp://balladefis:balladefis@62.107.60.58/server_status.jpg") then
  response.write("Server ONLINE")
else
  response.write("Server OFFLINE")
end if
%>

Det er scriptet. Jeg har ladet serveren være online, så kan du selv checke det.

Billedet er her:
ftp://balladefis:balladefis@62.107.60.58/server_status.jpg

Kan du prøve at få det til at fungere? Prøv at se om den reagerer på disse to filer. Den ene eksisterer (og burde vise online-status) og det andet er en fake-adresse (burde vise en offline-status):
Eksisterer: ftp://balladefis:balladefis@62.107.60.58/server_status.jpg
Eksisterer ikke: ftp://balladefis:balladefis@62.107.60.58/server.jpg
Avatar billede Slettet bruger
28. maj 2004 - 15:25 #8
Jeg har forresten prøvet med normale http-adresser, det virker heller ikke, selvom adressen er 100% korrekt.

Så har jeg skrevet:
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
response.write(FSO.FileExists("ftp://balladefis:balladefis@62.107.60.58/server_status.jpg"))

Denne giver "False", selvom filen rent faktisk eksisterer. Jeg har som sagt også prøvet med normale adresser (ikke-FTP'er), og det er samme problem.
Avatar billede gorlist Nybegynder
29. maj 2004 - 17:25 #9
Det er måske bedre hvis du forespørger på den fysiske sti i stedet:
Prøv nedenstående linie og se hvad den returnerer. Herefter kan du pege dig ned i evt. undermapper og pege på filen du ønsker at forespørge på.

response.write(server.mappath("."))

F.eks.

if FSO.FileExists(server.MapPath(".") & "\images\server_status.jpg") then
....
Avatar billede Slettet bruger
30. maj 2004 - 13:25 #10
Jeg tror ikke helt det kan lade sig gøre. Scriptet skal ligge på min hjemmeside, så det er der informationen foregår. Det er et domæne for sig selv. Men filen/billedet ligger på min egen computer, altså FTP-serveren, og fysisk set har scriptet/domænet intet med min computer/FTP at gøre. Af den grund vil det ikke virke.

Så derfor er det vigtigt, at scriptet ikke går efter en fysisk placering, men det skal gå efter en placering som kan findes vha. et URL.
Avatar billede Slettet bruger
01. juni 2004 - 10:12 #11
Problemet kan ikke rigtigt løses?
Avatar billede mm12010 Nybegynder
01. juni 2004 - 14:41 #12
Avatar billede gorlist Nybegynder
01. juni 2004 - 17:14 #13
Det fungerer hos mig hvis jeg bruger en http adresse.

Jeg kan ikke få det til at fungere med en ftp.
Avatar billede mm12010 Nybegynder
03. juni 2004 - 11:01 #14
Avatar billede mm12010 Nybegynder
14. september 2005 - 10:57 #15
skal vi lukke dette spg ?-)
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