06. marts 2004 - 15:35Der er
59 kommentarer og 2 løsninger
Uploade htmlfil til serveren hvert 5. minut.
Jeg har brug for at kunne uploade en almindelig htmlfil til en webserver hvert 5. minut. Findes der et script, som kan klare denne opgave. Jeg har hverken forstand på fso eller på komponenter, så det skal være rimeligt simpelt.
Ja, jeg har et skema, som bliver ændret mange gange på en dag. Derfor skal siden opdateres kontinuerligt, så det skal køre så snart computeren er tændt.
Nej, det duer ikke! Prøver lige at forklare nærmere.
Et skemalægningsprogram genererer en html-fil. Skemaet ændres flere gange i løbet af dagen og gemmes hver gang i en mappe på et intranet. Scriptet, som jeg efterlyser skal så ned og hente filen og uploade den til en webserver. Dette skal ske mange gange i løbet af dagen, så skemaet kan ses opdateret på internettet. Det person, som anvender skemalægningsprogrammet skal altså ikke involveres i processen. Han skal blot vide, at når han har lavet en ændring i sit program og gemt ændringen, så vil ændringen kunne ses på internettet inden for 5 minutter. Håber du forstår hvad jeg mener.
Du har følgende muligheder: 1) Find ud af hvilken komponenter du har installeret på serveren 2) Hvis du har FTP-adgang, kan man brug/lave et program der automatisk oploader filen
Nu rammer du lige netop mit problem. Jeg troede, at jeg havde løst problemet med et program AutoFtp Pro, men da jeg har Frontpage server extensions installeret på webhotellet, kan jeg ikke bruge ftp.
- Windows NT4 SP6a (IIS3, IIS4) - Windows 98 (PWS) - Windows 2000 (IIS5) - Windows 2003 (IIS6) Please refer to the FAQ for more information about Windows 2003 and IIS6 utilization.
Jeg kan ikke se hvilke komponenter de har installeret. hmm.. prøv det der: - Gem denne disse linier i en "test.asp": Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload") - Opload filen til din side - Gå ind på den.
Siger den at den ikke kunne "create object" (eller ligende) ?
if request.servervariables("request_method") = "POST" then ' formen SKAL submittes FØR koden afvikles
' Variables
' osv..
Response.Write(intCount & " file(s) uploaded.") End If end if ' slut på "formen SKAL...." %> </BODY> </HTML>
----------
Sikkerhedscheck: Du kan nu indsætte response.write "nummer", så du kan se hvor langt den når.. det indsætter efter hver linie i asp koden, der ikke starter med tegnet: '
Eksempel:
' Variables ' ********* Dim mySmartUpload Dim intCount
' Object creation ' *************** Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
response.write "1<br><br>" ' sikkerhedscheck
' Only allow txt or htm files ' *************************** mySmartUpload.AllowedFilesList = "gif,jpg,jpeg,bmp,png"
Jeg har hos min udbyder fået oplyst, at der er aspSmartUpload på serveren. Hvad gør jeg så. Har du et script, som kan bruges til det jeg har beskrevet?
Løsningen bliver noget med: - en form, med stien til filen - en nedtælling i JavaScript, som aktiverer "submit" - asp kode der checker om der er submittet: hvis ja, upload fil
Det lyder rigtigt. Ved du om SmartUpload kan håndtere html-filer. Det jeg har set beskrevet handler om text- eller billedfiler, men det gør måske ingen forskel. Jeg regner med, at den fil der skal uploades altid har det samme navn. Hvis du finder en brugbar løsning, så en den nok lidt flere point værd!
HTML filer er jo netop tekst filer, som fortolkes som en fil der indeholder noget programmering. De har bare endelsen "htm" eller "html", i stedet for "txt".
Jeg arbejder på en løsning med ovennævnte punkter.. Men der er vist et lille problem.. for at oploade en fil, skal man blikke "Gennemse"/"Browse" og derefter vælge en fil.. jeg ved ikke om man kan definere en standard fil til opload..
Jeg har prøvet med følgende: HTML - <input type="file" name="fil" value="c:\test.htm"> JavScript - document.frmupload.fil.value = "c:\test.htm";
Ingen af dem virker.. jeg vil søge efter info om det..
En hurtig kommentar må da være at de fleste ftp-klienter understøtter batchjob, så det ville da rent ud sagt være fjollet at lave en html/asp - løsning, til en så simpel procedure :o)
-eller har jeg ikke læst problematikken ordentligt ?
Jeg arbejder på en løsning med ovennævnte punkter.. Men der er vist et lille problem.. for at oploade en fil, skal man blikke "Gennemse"/"Browse" og derefter vælge en fil.. jeg ved ikke om man kan definere en standard fil til opload..
Jeg har prøvet med følgende: HTML - <input type="file" name="fil" value="c:\test.htm"> JavScript - document.frmupload.fil.value = "c:\test.htm";
Ingen af dem virker.. jeg vil søge efter info om det..
</citat>
Det kan ikke lade sig gøre, at have en standard værdi (filnavnet) i type="file". Da det ikke kan lade sig gøre, virker mit eksempel ikke.
Man kunne lave en webserver (PWS/IIS) som: 1) læste indholdet af HTML filen 2) Puttede det i en textarea 3) autosubmittede formen via javascript med en action="http://www.server.dk/side.asp"
grunken>> Punkt 1 forstår jeg ikke. Gider du forklare?
Punkt 2. Det må jo så blive løsningen. Jeg har et ftpprogram, som kan uploade med intervaller. Problemet er, at det skal startes. Er det noget man kan automatisere ved hjælp af et batchjob, og hvis ja - hvordan?
the surfer>> Du skal have mange tak for indsatsen, selv om det ikke kunne lade sig gøre. Du får selvfølgelig dine point anyway, men jeg venter lige og ser om ovenstående bringer noget. I så fald skal grunken have point også.
mhht. punkt et, så kræver det som thesurfer siger 1. at der er en fast IP, 2. at du installerer IIS/PWS/APACHE på maskinen så den kan kontaktes via http, og så ville vi kunne lave et script til din webserver der automatisk kontaktede din maskine og læste indholdet af htmlfilen
Det samme ville kunne lade sig gøre hvis du installerede en ftp. server på maskinen.
:o)
Men ftpmetoden er ganske enkelt den sikreste nemmeste og mest optimale :o)
Jeg har fået oprettet et subdomæne med ftp-adgang. Jeg har prøvet et program som hedder FtpUploader, et 10$ shareware som klarer opgaven, men man skal jo trykke på en knap for at sætte processen i gang. Kan man få et sådant program til at starte upload, så snart pc'en startes?
og hvis maskinen kører almindelig windows, så det bare at ligge dit ftp-program ind i en af de dersens "scheduled tasks", og aktivere det hver gang ved systemstartup :o)
Eller ganske enkelt smide det i startmanuen under programmer start
Mulighederne for dette er mange det skal jo bare tilpasses :o)
En rettelse til #1: Man behøver vist ikke en fast ip, hvis man bruge mit eksempel i 10/03-2004 17:42:24, da man bare skal sende data "op" til den rigtige server.. Han kan så via request.form læse indholde af textarea'et, der er blevet sendt via den lokale webserver (sin egen maskine)..
Hvis man lægger programmet i startmenuen aktiveres programmet ganske rigtig, men uploadprocessen starter ikke før man trykker på "transfer now" knappen.
under "server details" udfylder du dine logon oplysninger! under "uploads" - vælger du de(n) fil(er) du vil uploade, og vælger mappen filen skal placeres i :o) under "options" sætter du et transfer interval til eksempelvis 5 minutter, og sætter hak i "start with windows" under "main" klikker du save - og ja overførslen begynder også automatisk næste gang din windows starter
genialt program til ingen penge, har da lige valgt at ofre 9.95 på sagen :o)
Det er en del mere intuitivt end ROBO-ftp, vel og mærke hvis man ikke har behov for at uploade til flere servere :o)
Du har ganske ret. Upload starter automatisk. Jeg må have glemt at trykke på save, da jeg afprøvede det. Enig i at programmet er smart. Havde du nogle problemer med at registrere det, jeg har nemlig ikke gjort det endnu, da jeg lige ville se, om det var det jeg havde brug for. Send lige et svar begge to, så I kan få point. Vi er vist også ved at bevæge ud af asp-kategorien.
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.