Я записываю время, когда пользователь скачал определенный файл, используя следующий код. Тем не менее, в этом коде изначально время загрузки наступает, но позже оно разрывает соединение базы данных между клиентом и сервером. Если я удалю 'exit
' (как показано), все будет хорошо, но загруженный файл может быть поврежден или поврежден.
Может кто-нибудь проверить этот код и объяснить, что с ним не так? Я думаю, что проблема с выходом, но что я могу использовать вместо выхода?
<?php
$f_name = $_POST["fn"];
$file = "../mt/sites/default/files/ourfiles/$f_name";
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
//ob_clean();
// flush();
readfile($file);
// exit;
}
$con = mysql_connect("localhost","mt","mt");
if (!$con) {
die('Could not connect: ' . mysql_error());
} else {
echo "Connected";
}
// Create table
mysql_select_db("mt", $con);
mysql_query("INSERT INTO down_time (FileName,DateTime)
VALUES ('".$f_name."',NOW())");
mysql_close($con);
?>