Dennis Wronka
Soulcollector
@Dimenson: Ich hab Deinen Beitrag mal ins Lummerland gejagt da der hier irgendwie total unpassend und voll daneben war. Aber ich kann Dich schon verstehen.
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
<?php
$_options = array(
'SOURCE_DIR' => '/foo/bar/',
'ALLOWED_REQUEST_METHODS' => array('GET', 'POST', 'HEAD')
);
// Validierung der Anfrage-Methode
if( !in_array($_SERER['REQUEST_METHOD'], $_options['ALLOWED_REQUEST_METHODS']) ) {
header($_SERVER['SERVER_PROTOCOL'].' 405 Method Not Allowed', true);
echo 'Method Not Allowed';
exit;
}
// Validierung des ID-Parameters
if( !isset($_GET['id']) || empty($_GET['id']) || intval($_GET['id']) != $_GET['id'] || $_GET['id'] <= 0 ) {
header($_SERVER['SERVER_PROTOCOL'].' 400 Bad Request', true);
echo 'Bad Request; ID Argument Is Missing';
exit;
}
$query = '
SELECT
…
FROM
…
WHERE
`id` = "'.$_GET['id'].'"
';
$result = mysql_query($query);
// Prüfung auf Existenz eines Datensatzes mit beschriebenen Kriterien
if( mysql_num_rows($result) <= 0 ) {
// bei Misserfolg wird der Nicht-gefunden-Status gesendet
header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found', true);
echo 'Requested Ressource Not Found';
exit;
} else {
// bei Erfolg wird die Datei ausgeliefert
$row = mysql_fetch_array($result, MYSQL_ASSOC);
header('Content-Type: application/octet-stream', true);
header('Content-Disposition: attachment; filename="'.$row['filename'].'"');
readfile($_options['SOURCE_DIR'].$row['filename']);
exit;
}
?>