[ascoders] Re: ot: amfphp
- From: Florian Krüsch <florian@xxxxxxxxxx>
- To: ascoders@xxxxxxxxxxxxx
- Date: Tue, 16 Dec 2003 13:57:37 +0100
Remoting ist für den Datenaustausch zwischen Player und Server gedacht.
Ein Download ist was ganz anderes, da werden keine Daten in den Player
geladen, sondern direkt über den Browser. amfphp/Remoting ist also
schlicht das falsche Instrument. Das kann nur mit "getURL" funktionieren.
Florian
codeazur.com
Michael Nisi wrote:
hey, ziemlich ot.
amfphp.
versuche eine download methode in einen meiner services zu
implementieren. macht mich irre. ganz simpel. klicke im flash player
und downloade ein mp3 mit save as dialog. ich krieg hier langsam nen
hals.
absolute und relative paths hab ich gecheckt. setze headers wie jeck,
bringt aber nix.
scheinbar wird das file gefunden. es wird in den buffer gesaugt, aber
nicht gesichert und 'nen save as dialog gibbet auch keinen.
in den gelben seiten stand nix, kennt sich hier jemand mit sowas aus? ;)
*#?!#%%°!
- michael
ps. bitte, bitte!
function download($params)
{
$filenamepath = $params[filenamepath];
$filename = $params[filename];
$disposition = "attachment";
$mime = (PMA_USR_BROWSER_AGENT == 'IE' || PMA_USR_BROWSER_AGENT ==
'OPERA') ? 'application/octetstream' : 'application/octet-stream';
if (isset($_SERVER["HTTPS"]))
{
header("Pragma: ");
header("Cache-Control: ");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
// HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
} else if ($disposition == "attachment") {
header("Cache-control: private");
} else {
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
}
header("Content-Type: $mime");
header("Content-Transfer-Encoding: binary");
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header("Content-Disposition:.$disposition;
filename=\"".trim(htmlentities($filename))."\"");
header("Content-Description: ".trim(htmlentities($filename)));
header("Content-Length: ".(string)(filesize($filenamepath)));
header("Connection: close");
if ($fd=fopen($filenamepath,'rb'))
{
fpassthru($fd);
exit;
} else {
echo "Error.";
}
}
------------------------------------------------------
Archiv : http://www.freelists.org/archives/ascoders/
Optionen : http://www.freelists.org/list/ascoders
------------------------------------------------------
- Follow-Ups:
- [ascoders] Re: ot: amfphp
- From: Michael Nisi
- References:
- [ascoders] AW: Re: AW: Re: MouseWheel?
- From: Peter Oliver Geller
- [ascoders] ot: amfphp
- From: Michael Nisi
Other related posts:
- » [ascoders] ot: amfphp
- » [ascoders] Re: ot: amfphp
- » [ascoders] Re: ot: amfphp
- » [ascoders] Re: ot: amfphp
- » [ascoders] Re: ot: amfphp
- » [ascoders] Re: ot: amfphp
amfphp.
versuche eine download methode in einen meiner services zu implementieren. macht mich irre. ganz simpel. klicke im flash player und downloade ein mp3 mit save as dialog. ich krieg hier langsam nen hals.
absolute und relative paths hab ich gecheckt. setze headers wie jeck, bringt aber nix.
scheinbar wird das file gefunden. es wird in den buffer gesaugt, aber nicht gesichert und 'nen save as dialog gibbet auch keinen.
in den gelben seiten stand nix, kennt sich hier jemand mit sowas aus? ;)
*#?!#%%°! - michael
ps. bitte, bitte!
function download($params)
{
$filenamepath = $params[filenamepath];
$filename = $params[filename]; $disposition = "attachment";
$mime = (PMA_USR_BROWSER_AGENT == 'IE' || PMA_USR_BROWSER_AGENT == 'OPERA') ? 'application/octetstream' : 'application/octet-stream';
if (isset($_SERVER["HTTPS"]))
{
header("Pragma: ");
header("Cache-Control: ");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
} else if ($disposition == "attachment") {
header("Cache-control: private");
} else {
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
}
header("Content-Type: $mime");
header("Content-Transfer-Encoding: binary");
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header("Content-Disposition:.$disposition; filename=\"".trim(htmlentities($filename))."\"");
header("Content-Description: ".trim(htmlentities($filename)));
header("Content-Length: ".(string)(filesize($filenamepath)));
header("Connection: close");
if ($fd=fopen($filenamepath,'rb'))
{
fpassthru($fd);
exit;
} else {
echo "Error.";
}
}
- [ascoders] Re: ot: amfphp
- From: Michael Nisi
- [ascoders] AW: Re: AW: Re: MouseWheel?
- From: Peter Oliver Geller
- [ascoders] ot: amfphp
- From: Michael Nisi