Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 12 odgovora
  • 5.328 pregleda

Najnovija ↓

Download... Content-Disposition putanja... 06.12.2006. u 10:58 · pre 242 meseca #1
Pokusavam jednostavno da na ovaj nacin napravim download fajlova...

Code:
header('Content-Disposition: attachment; filename=../download/neki_file.pdf');

Kada pokusam da downloadujem taj fajl sve kose crte "/" se pretvore u minuse "-". Zasto se to desava? Kako ovo resiti?
Re: Download... Content-Disposition putanja... 06.12.2006. u 11:03 · pre 242 meseca #2
Filename u prevodu znači "ime fajla", a upravo to i treba da uneseš - koje ime predlažeš za snimanje. O putanji već odlučuje klijent, kao i o konačnom imenu fajla kako će biti snimljen prilikom downloada.
Potpis
BoxUp
interesantna logička igra
Monty Hall paradoks - interaktivni demo
Re: Download... Content-Disposition putanja... 06.12.2006. u 11:13 · pre 242 meseca #3
A kako onda da se taj fajl skida sa neke druge lokacije na serveru a ne iz tog direktorijuma u kome je taj fajl na primer "downloader.php" u kome je kod koji ce odredjivati potreban fajl, a fajl koji treba skinuti se dakle ne nalazi u tom istom direktorijumu.
Re: Download... Content-Disposition putanja... 06.12.2006. u 11:22 · pre 242 meseca #4
header() funkcija niti cita sadrzaj fajla, niti ga salje korisniku, nego salje HTTP header, tako da je za nju nebitno gde se fajl stvarno nalazi. Za citanje fajla i njegovo slanje koristi se na primer readfile().

U manualu imas primere kako se radi to sto hoces:

http://www.php.net/manual/en/function.header.php

http://www.php.net/manual/en/function.readfile.php
Potpis
Never trust an operating system you don't have sources for.
Re: Download... Content-Disposition putanja... 06.12.2006. u 11:40 · pre 242 meseca #6
Da, to znam, ali nije problem u tome, a i nije mi poenta da sakrijem lokaciju, nego samo zelim da ako je .pdf fajl u pitanju da mu se ne otvara u browseru vec da mu nudi da fajl snimi, kao da nije .pdf... a na ovaj nacin ce mu se otvarati u browseru ako ima .pdf plugin, a sigurno ima.

Kako bi to bilo najbolje uraditi?

Re: Download... Content-Disposition putanja... 06.12.2006. u 11:53 · pre 242 meseca #8
Dodaj i ovo:

header("Content-Type: application/octet-stream");
header("Content-Type: application/force-download");

pre "Content-Disposition", pa će uvek ponuditi download.

Potpis
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
Re: Download... Content-Disposition putanja... 06.12.2006. u 11:54 · pre 242 meseca #9
Ovaj header što si napisao znači da sadržaj koji vraćaš treba da bude tipa "attachment" i da predstavlja fajl s imenom koje odrediš u "filename".

To browseru govori da ne treba da otvori sadržaj kao web stranicu već da nudi dijalog za snimanje fajla.

Kad postaviš sve potrebne headere, sadržaj šalješ u output, recimo readfile ('../download/neki_file.pdf') ...
Potpis
BoxUp
interesantna logička igra
Monty Hall paradoks - interaktivni demo
Re: Download... Content-Disposition putanja... 06.12.2006. u 12:00 · pre 242 meseca #12
@noviKorisnik
Da, shvatio sam sve :)

@mVeliki
Dodao sam vec i to. Hvala.
Mada ja sam stavio samo "header("Content-Type: application/octet-stream");" jer koliko sam shvatio dovoljno je ili jedno ili drugo, ili mozda gresim? Isprobao sam i radi normalno u IE/FF/Opera.

Re: Download... Content-Disposition putanja... 06.12.2006. u 20:59 · pre 242 meseca #13
Ne znam dali je dovoljno ili ne, u svojim skriptama koristim oba (za svaki slučaj) i dosad nisam naišao na problem.

Još da dodam, da ne bude da nije rečeno, reč attachment; u "Content-Disposition" će zbuniti IE 5.5 tako da bi za podršku vlasnicima starih Win98 računara trebalo dodati proveru verzije browsera i ponuditi im verziju:
header("Content-Disposition: filename=\"$filename\"");

Mada pitanje je koliko je procentualno takvih surfera, ali ajde..
Potpis
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme