17. februar 2007 - 12:07Der er
6 kommentarer og 1 løsning
Vis ledig diskplads på serveren.
Jeg har brug for på en asp hjemmeside at kunne vise hvor meget ledig diskplads der er på serveren (så man eksempelvis ikke forsøger at uploade et 50mb billede hvis der kun er 30mb fri).
Jeg har ledt lidt omkring, men indtil videre har jeg kun kunnet finde scripts der viser hvor meget plads der er brugt i en mappe, og det er ikke helt hvad jeg har brug for...
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Der er eksempler her: http://www.w3schools.com/asp/asp_ref_drive.asp Men du får, hvis den ellers vil give dig et tal, pladsen for serveren, og ikke det webhotel, som du måtte have på serveren. Jeg ved så ikke om du kan bruge det.
okay det virker super, jeg får alle de oplysninger jeg har brug for. -Faktisk så vidt jeg kan se kunne man bruge "AvailableSpace" til at se hvor meget plads man har tilgængelig eksempelvis på et webhotel hvis det var det man ønskede.
Mit eneste problem lige nu er, at jeg gerne ville liste alle mine drev - og blandt de drev har jeg et eksternt USB-drev som jeg nogle gange frakobler - hvis det eksempelvis hedder Drev E: og jeg forsøger mig med følgende linie mens drevet er frakoblet..
Set FilSystem=Server.CreateObject("Scripting.FileSystemObject") Set DriveLetter = FilSystem.GetDrive("e:")
så får jeg følgende fejl:
Der opstod en Microsoft VBScript-kørselsfejl fejl '800a0044' Enheden er ikke tilgængelig /test.asp, linje 47
Det er naturligvis fair nok, men jeg kunne egentligt godt tænke mig bare at skrive "Drevet er ikke tilgængeligt" istedet for at hele scriptet crasher...
jeg har forsøgt mig med følgende for kun at læse størrelse osv hvis drevet er klart: if DriveLetter.IsReady=true then
-men det ser kun ud til at virke på eksempelvis CD-ROM drev der kan være tilsluttet men ikke klar...
Er der en måde jeg kan fange denne fejl, og blot udskrive en valgfri fejl-besked og så ellers fortsætte scriptet?
Okay så lærte jeg lidt om error-handling i ASP :-)
Her er mit foreløbigt endelige script:
<html> <head><title>Drev-information</title></head> <body> <% Function FormatMem(ByVal bytes) Dim suffix suffix = "Bytes" If bytes > 1024 Then bytes = bytes / 1024 suffix = "Kb" End If If bytes > 1024 Then bytes = bytes / 1024 suffix = "Mb" End If If bytes > 1024 Then bytes = bytes / 1024 suffix = "Gb" End If If bytes > 1024 Then bytes = bytes / 1024 suffix = "Tb" End If FormatMem = FormatNumber(bytes,2,,,True) & " " & suffix End Function
Function ShowDriveInfo(strDriveLetter) on error resume next Dim FilSystem, DriveLetter Set FilSystem=Server.CreateObject("Scripting.FileSystemObject") Set DriveLetter = FilSystem.GetDrive(strDriveLetter) If Err.Number <> 0 then HandleError Err.Description,strDriveLetter Error.Clear else if DriveLetter.IsReady=true then 'Hvis drevet er klar, så vis oplysninger om drevet: response.write("<b>Oplysninger om drev " & DriveLetter & "</b><br>") response.write("Fri plads: " & FormatMem(DriveLetter.FreeSpace) & " af " & FormatMem(DriveLetter.TotalSize) & ".<br>") Response.write("<i>Drev " & DriveLetter & " er klar til brug.</i>") else 'Ellers fortæl at drevet ikke er klar... Response.write("Drev " & DriveLetter & " er ikke klar...") end if response.write("<hr>") 'spacer End If Set DriveLetter=nothing Set FilSystem=nothing End Function
Function HandleError(strDescription, strDriveLetter) response.write("Fejl vedr. behandling af drev " & strDriveLetter & " - "& strDescription & "<hr>") End Function %> </body> </html>
Ved mig giver det følgende output:
Oplysninger om drev C: Fri plads: 11,56 Gb af 20,00 Gb. Drev C: er klar til brug.
Oplysninger om drev D: Fri plads: 165,50 Gb af 281,71 Gb. Drev D: er klar til brug.
Fejl vedr. behandling af drev e: - Enheden er ikke tilgængelig
Oplysninger om drev F: Fri plads: 71,95 Gb af 114,49 Gb. Drev F: er klar til brug.
Fejl vedr. behandling af drev g: - Enheden er ikke tilgængelig
Fejl vedr. behandling af drev h: - Enheden er ikke tilgængelig
Fejl vedr. behandling af drev i: - Enheden er ikke tilgængelig
Oplysninger om drev J: Fri plads: 76,69 Gb af 465,75 Gb. Drev J: er klar til brug.
forresten erikjacobsen - jeg mener at kunne huske at du ikke vil have points for din hjælp, men du skal ihvertfald have muligheden - så smid et svar hvis du vil have points...
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.