RadiantHeart Skrevet 11. desember 2009 Del Skrevet 11. desember 2009 (endret) Har et problem jeg ikke trodde det skulle være så vanskelig å løse, men har søkt en del rundt uten å finne svar. Har en side som linker til mp3-filer på et annet domene. Det jeg vil skal skje er at når noen trykker på "last ned", blir brukeren først sendt til en php-side som oppdaterer databasen før den redirecter brukeren til mp3-filen. Dette skjer nå ved: header("Location: http://www.annet.domene.no/fil.mp3"); Problemet er at når brukeren høyreklikker på "last ned" og velger "lagre mål som" er det bare den tomme php-siden som lastes ned. Endret 11. desember 2009 av RadiantHeart Lenke til kommentar
MikkelRev Skrevet 11. desember 2009 Del Skrevet 11. desember 2009 Vet ikke om jeg forstod deg helt, så er det slik oppsettet ditt er? Hvor er det isåfall han skal høyreklikke og "lagre som" tenker du? fil1.php <a href="fil2.php">Klikk her for mp3!</a> fil2.php //UPDATE database her header("Location: http://www.annet.domene.no/fil.mp3"); Lenke til kommentar
RadiantHeart Skrevet 11. desember 2009 Forfatter Del Skrevet 11. desember 2009 (endret) Sorry, formulerte meg sikkert litt dårlig. Oppsettet er omtrent slik: index.php: <a href="download.php?url=http://www.annet.domene.no/fil.mp3">Last ned fil</a> download.php: //Oppdatere database her header("Location: http://www.annet.domene.no/fil.mp3"); Problemet jeg ville ha hjelp til var at når noen høyreklikker på linken i index.php og velger "lagre mål som" blir bare download.php lastet ned og ikke den eksterne mp3-fila. Endret 11. desember 2009 av RadiantHeart Lenke til kommentar
loLpaTrol Skrevet 11. desember 2009 Del Skrevet 11. desember 2009 Litt usikker her, vil du at de skal ha muligheten til å laste ned både ved å klikke på "last ned", OG ved å høyreklikke og velge "lagre mål som"? Siden "last ned" linken linker til download.php så vil jo brukere selvfølgelig laste den ned hvis de klikker lagre mål. Er jo download.php som er målet. Og poenget med download.php var vel at databasen din skulle oppdatere seg, tviler sterkt på at du klarer å få til mulighet for å laste ned fil ved å bruke lagre mål som, og i tilegg oppdatere databasen. Ikke med bare php iallefall (TROR jeg da!). Lenke til kommentar
Wackamole Skrevet 11. desember 2009 Del Skrevet 11. desember 2009 (endret) Du må gjøre det slik at dem kan klikke på "last ned", så kommer nedlastingsdialogen opp.. - Med andre ord, får og få det til og fungere, må du gjøre nettleseren ukjent for filen slik at den heller vil laste den ned isteden for og spille den av. Det finnes hvertfall et par poster om dette på forumet her, også har du jo google EDIT: fant en post https://www.diskusjon.no/index.php?showtopic=601529&hl= Er rimelig lett stoff, kan du litt om PHP så forstår du det Endret 11. desember 2009 av Wackamole Lenke til kommentar
Ernie Skrevet 11. desember 2009 Del Skrevet 11. desember 2009 Problemet her er nok at man har en redirect. Når man høyreklikker og velger «lagre mål som» lagrer man download.php som sannsynligvis er en tom fil fordi du ikke har skrevet ut noe og i stedet kjører en redirect. For at «lagre mål som» skal fungerer må innholdet du ønsker skal bli lastet ned bli gitt uten noen redirect. Lenke til kommentar
Jonas Skrevet 11. desember 2009 Del Skrevet 11. desember 2009 Det ville ikke vært overaskende i det hele tatt dersom hvorvidt redirects ble fulgt ved «Lagre som» var forskjellig fra nettleser til nettleser. Det høres veldig klientspesifikt ut. Noen som har testet ut akkurat dette? Hadde vært kjekt å vite. Lenke til kommentar
Ernie Skrevet 11. desember 2009 Del Skrevet 11. desember 2009 Hmm ... du har helt rett der. Både Opera og Firefox følger redirect. Hvordan det er med IE aner jeg ikke, men det vel kanskje den som er problemet her? Lenke til kommentar
RadiantHeart Skrevet 11. desember 2009 Forfatter Del Skrevet 11. desember 2009 Har testet litt forskjellige nettlesere (Opera, IE, Firefox og Chrome) og det viser seg at alle følger redirecten, til og med IE. Den eneste fremgangsmåten som gav en feil var når jeg valgte "lagre i nedlastingsmappe" i opera. Da ble riktig fil lastet ned, altså mp3-filen, men filnavnet ble download.php. Men det kan vel kanskje fikses ved å sende headers. Lenke til kommentar
Wattengård Skrevet 11. desember 2009 Del Skrevet 11. desember 2009 (endret) Du må passe på å sette content-type korrekt, samt det skal være en header som spesifiserer filnavn tror jeg. Husker ikke sånn i farta, men google "http headers" så får du sikkert en ok oversikt. EDIT: Sorry, ser nå at du redirecter til fila... Har du prøvd å bare la downloadscriptet bitpushe fila rett til klienten istedet? Da slipper du at folk kan sniffe trafikken og få opp direkte url til filene dine også -C- Endret 11. desember 2009 av ChristianW Lenke til kommentar
qualbeen Skrevet 4. januar 2010 Del Skrevet 4. januar 2010 En løsning kunne vært å ha URL ala dette: example.com/downloads/fake/url/to/music Neste steg er å benytte apache sin rewrite-rule, slik at url'en jeg anga blir "gjort om" til example.com/downloads/?data=fake-url-to-music Dermed vil index.php-fila som ligger i "downloads"-mappen trigges (kjøres), og du får oppdatert databasen. Videre "echo'es" innholdet i "fake-url-to-path.mp3" ut (ikke redirect) av index.php-fila. -- Et alternativ er å "lære opp" apache til å tolke .mp3-filer (og andre ønskede filtyper) som .php-filer. Med andre ord vil brukerne tro at de åpner en mp3-fil (pga. filnavn), mens i realiteten er "/fil.mp3" en helt vanlig php-fil. Igjen: Temmelig essensielt at php-fila spytter ut innholder fra en reell mp3-fil til browseren (med korrekt headers), hvis ikke blir browseren forvirra ;-) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå