phobia
Terugkerende gebruiker
- Lid geworden
- 4 sep 2006
- Berichten
- 1.777
Ik heb een download method waarmee ik een file wil/kan downloaden.
In mozilla werkt het, safari ben ik niet bang voor. In E9 werkte het ook.
Maar in E8 en eerder werkt het helemaal niet. En ik heb geen idee waarom, hoezo en hoe het werkend te krijgen. De browser crashed(maar dat is in IEtester, zou ook daar door kunnen komen)
Ik heb echo 1; exit(); binnen de if statements gezet om te zien of de file gevonden wordt enzo.
mijn method:
In mozilla werkt het, safari ben ik niet bang voor. In E9 werkte het ook.
Maar in E8 en eerder werkt het helemaal niet. En ik heb geen idee waarom, hoezo en hoe het werkend te krijgen. De browser crashed(maar dat is in IEtester, zou ook daar door kunnen komen)
Ik heb echo 1; exit(); binnen de if statements gezet om te zien of de file gevonden wordt enzo.
mijn method:
PHP:
public function download() {
$array = Router::getArg();
$file_server = $array[0];
$file_type = $array[1];
if (strlen($file_server) == 32) {
$result = $this->_DBO->retrieve('files', array('file_info', 'file_server', 'user_id', 'file_type', 'file_info'), array('file_server' => $file_server), 1);
if ($result) {
$info = unserialize($result->file_info);
$header_type = array(
'zip' => 'application/octet-stream'
, 'rar' => 'application/octet-stream'
, 'txt' => 'text/plain'
, 'php' => 'application/force-download'
, 'css' => 'application/force-download'
, 'html' => 'application/force-download'
, 'js' => 'application/force-download'
, 'jpg' => 'application/force-download'
, 'png' => 'image/png'
, 'bmp' => 'application/force-download'
, 'gif' => 'image/gif'
);
if (is_readable(RESOURCE_PATH . 'profile\\' . $result->user_id . '\\' . $file_type . '\\' . $result->file_server . '.save')) {
// Dit geeft aan dat het gedownload moet worden
// echo 1; exit(); werkt, stopt script en 1 op scherm
header('Content-Disposition: attachment; filename="' . $info['name'] . '.' . $result->file_type . '" ');
// De output is een plaatje van het type <x>, in dit geval jpeg
header('Content-Type: ' . $header_type[$result->file_type]);
ob_clean();
flush();
// Link naar het plaatje dat geupload is
readfile(RESOURCE_PATH . 'profile\\' . $result->user_id . '\\' . $file_type . '\\' . $result->file_server . '.save');
exit();
} else {
echo 'Did NOT find file on the server <b>..\default\profile\\' . $result->user_id . '\\' . $file_type . '\\' . $result->file_server . '.save</b>';
}
} else {
echo 'Did NOT find match in the database';
}
} else {
echo 'File id is not valide';
}
}// End Method
Laatst bewerkt: