/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
session_start og downloade fil
Fra : Peter Henriksen


Dato : 08-07-07 00:31

Når jeg starter sessions før jeg sender en fil til browseren bliver
filnavnet f.eks. "test_php" samt alt i parameterlisten.

Hvis jeg undlader at starte sessions bliver filnavnet readme.pdf

Jeg har forsøgt med kombinationer af ob_start(), ob_end_clean() mm uden
held.

Er der en måde jeg kan starte sessions på og alligevel sende korrekt
filnavn.



<?php

session_start();

header ("Content-type: application/pdf");
header ('Content-Disposition: attachment; filename="readme.pdf');

readfile ("readme.pdf");

?>



 
 
Martin van de Belt (09-07-2007)
Kommentar
Fra : Martin van de Belt


Dato : 09-07-07 12:28


"Peter Henriksen" <peter.henriksen@yahoo.xxx> schreef in bericht
news:469021ed$0$90270$14726298@news.sunsite.dk...
> Når jeg starter sessions før jeg sender en fil til browseren bliver
> filnavnet f.eks. "test_php" samt alt i parameterlisten.
>
> Hvis jeg undlader at starte sessions bliver filnavnet readme.pdf
>
> Jeg har forsøgt med kombinationer af ob_start(), ob_end_clean() mm uden
> held.
>
> Er der en måde jeg kan starte sessions på og alligevel sende korrekt
> filnavn.
>
>
>
> <?php
>
> session_start();
>
> header ("Content-type: application/pdf");
> header ('Content-Disposition: attachment; filename="readme.pdf');
Er den ikke forkert?

Prøv
header ("Content-Disposition: attachment; filename=readme.pdf");

>
> readfile ("readme.pdf");
>
> ?>
>


Med venlig hilsen,
Martin van de Belt
http://www.webmastere.dk


Peter Henriksen (09-07-2007)
Kommentar
Fra : Peter Henriksen


Dato : 09-07-07 21:34

>> header ("Content-type: application/pdf");
>> header ('Content-Disposition: attachment; filename="readme.pdf');
> Er den ikke forkert?

Jo

header ('Content-Disposition: attachment; filename="readme.pdf"');

eller din

> header ("Content-Disposition: attachment; filename=readme.pdf");

Der er dog ingen forskel :-/

Det hele afgøres af om sessions startes eller ej.
Selvom jeg tømmer alt muligt header gejl vil den stadig ikke hente PDF'en
korrekt.



Martin (11-07-2007)
Kommentar
Fra : Martin


Dato : 11-07-07 16:17

Peter Henriksen wrote:
>>> header ("Content-type: application/pdf");
>>> header ('Content-Disposition: attachment; filename="readme.pdf');
>> Er den ikke forkert?
>
> Jo
>
> header ('Content-Disposition: attachment; filename="readme.pdf"');
>
> eller din
>
>> header ("Content-Disposition: attachment; filename=readme.pdf");
>
> Der er dog ingen forskel :-/
>
> Det hele afgøres af om sessions startes eller ej.
> Selvom jeg tømmer alt muligt header gejl vil den stadig ikke hente PDF'en
> korrekt.

Den ene header er desværre langt fra nok

header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: application/force-download");
header('Content-Transfer-Encoding: Binary');
header('Content-length: '.filesize($file));
header('Content-disposition: attachment; filename='.$title);
readfile($file);

Her er de headers som jeg sender med ved download.
Desuden så skal alle sjove bogstaver i title fjernes/ændres

Jeg bruger dette array i en str_replace

" "=>"_",
"À" => "A",
"Â" => "A",
"Ä" => "A",
"Æ" => "AE",
"È" => "E",
"Ê" => "E",
"Ì" => "I",
"Î" => "I",
"Ð" => "D",
"Ò" => "O",
"Ô" => "O",
"Ö" => "O",
"Ø" => "O",
"Ú" => "U",
"Ü" => "U",
"à" => "a",
"â" => "a",
"ä" => "a",
"æ" => "ae",
"è" => "e",
"ê" => "e",
"ì" => "i",
"î" => "i",
"ð" => "o",
"ò" => "o",
"ô" => "o",
"ö" => "o",
"ø" => "o",
"ú" => "u",
"ü" => "u",
"Á" => "A",
"Ã" => "A",
"Å" => "A",
"Ç" => "C",
"É" => "E",
"Ë" => "E",
"Í" => "I",
"Ï" => "I",
"Ñ" => "N",
"Ó" => "O",
"Õ" => "O",
"Ù" => "U",
"Û" => "U",
"Ý" => "Y",
"ß" => "B",
"á" => "a",
"ã" => "a",
"å" => "a",
"ç" => "c",
"é" => "e",
"ë" => "e",
"í" => "i",
"ï" => "i",
"ñ" => "n",
"ó" => "o",
"õ" => "o",
"ù" => "u",
"û" => "u",
"ý" => "y",
"ÿ" => "y",
"\\"=>"_",
"´"=>"",
"/"=>"_",
"."=>""

Martin (11-07-2007)
Kommentar
Fra : Martin


Dato : 11-07-07 16:19

Martin wrote:
> Den ene header er desværre langt fra nok
>
> header("Pragma: public"); // required
> header("Expires: 0");
> header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
> header("Cache-Control: private",false); // required for certain browsers
> header("Content-Type: application/force-download");
> header('Content-Transfer-Encoding: Binary');
> header('Content-length: '.filesize($file));
> header('Content-disposition: attachment; filename='.$title);
> readfile($file);
>
> Her er de headers som jeg sender med ved download.
> Desuden så skal alle sjove bogstaver i title fjernes/ændres

og lige til at gøre det endnu mere besværligt, så læste jeg somewhere
(kan ikk huske hvor) så går zlib ind og ødelægger downloadingen så
derfor kører jeg altid lige en

if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');

Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408509
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste