Avatar billede --ivanhoe-- Nybegynder
19. april 2004 - 12:48 Der er 12 kommentarer

ftp download

Hejsa - her er en spicy en.
Jeg skal ha lavet en download service hvor linket til filen evt. laves som et midlertidigt unix-link i et ftp-bibliotek, der så igen kan slettes ved "download complete" - findes det evt en server som php fungerer med eller skal det scannes efter i en log fil for en "complete" besked !? nogen erfaringer at hente ? :o)
Avatar billede dennismp Nybegynder
19. april 2004 - 13:02 #1
Var det ikke nemmere evt at vende problemet lidt rundt, og så give brugeren et username/password der kun virker een gang?

Så skal du "bare" finde en ftp server der kan snakke med mysql og udføre noget sql efter endt download
Avatar billede --ivanhoe-- Nybegynder
19. april 2004 - 13:22 #2
Hmm jo kender du en der kan det !!
På den anden side - hvis den ftp kan skrive sql efter endt download ville det være ligetil! også uden user/pass
Avatar billede dennismp Nybegynder
19. april 2004 - 13:34 #3
pure-ftpd kan arbejde sammen med mysql, det samme med proftpd. Om de kan udføre et sql statement pr. download ved jeg ikke (har aldrig tjekket, har ikke haft brug for det) ..

Om ikke andet, kan du vil se om du kan give dem lov til at hente een fil (via dl/ul-ratio måske)
Avatar billede --ivanhoe-- Nybegynder
19. april 2004 - 13:55 #4
ha ha ja hvorfor ikke ;o) go ide -  men jeg er nødt til at have en indikation fra ftp-serveren når en download er komplet for at jeg kan slette det unix link!!! hvis bare pure-ftp kunne køre sql noget efter complete !!! Nogen der kender en der kan !??
Så vidt jeg kan se kan se i pureftpd-mysql.conf kan pureftp kun lave SELECT statements...
Avatar billede --ivanhoe-- Nybegynder
19. april 2004 - 13:57 #5
poiten er at hver fil kun må kunne downloades èn gang!
Avatar billede dennismp Nybegynder
19. april 2004 - 14:15 #6
Jeg sidder lige og kigger i sourcen til pure-ftpd. Skal denne ftp-server bruges til andet end engangsdownload?
Avatar billede --ivanhoe-- Nybegynder
19. april 2004 - 14:26 #7
nej faktisk ikke !! mand du er rå nok ;o)
Avatar billede --ivanhoe-- Nybegynder
19. april 2004 - 14:27 #8
den skriver i /var/log/messages ! så deromkring kunne man måske lave noget !!! heftige sager
Avatar billede dennismp Nybegynder
19. april 2004 - 14:37 #9
Jeg har ændret i koden, så den sletter alle filer der downloades. Det er enkelt linje.. Hent sourcen til pure-ftpd

gå ind i src-directoriet, åbn ftpd.c

i linje 3189 finder du:
displayrate(MSG_DOWNLOADED, st.st_size - restartat, started, name, 0);
under denne tilføjer du
unlink(name);

.. og så compiler du bare skidtet og tester løs for at se om det virker (har ikke testet det så grundigt).

Filen ser cirka sådan her ud befter:
#endif
    (void) close(f);
    closedata();
    displayrate(MSG_DOWNLOADED, st.st_size - restartat, started, name, 0);
    unlink(name);
    end:
    restartat = (off_t) 0;
}
Avatar billede dennismp Nybegynder
19. april 2004 - 14:38 #10
Nåja, jeg har brugt sourcen til version 1.0.18, jeg vil ikke paste hele filen, da den er temmelig lang :)
Avatar billede --ivanhoe-- Nybegynder
19. april 2004 - 15:24 #11
det er helt kanon :o)  mange tak
Avatar billede dennismp Nybegynder
19. april 2004 - 15:27 #12
Test det lige grundigt, før du sætter det i produktion. :)

Har du fået det til at virke?
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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