Почему функция записывает в начало возвращаемого файла HTML код моей страницы, а уже потом дописывается сам файл. В чём может быть проблема? Заранее спасибо.
Пример (то что мне вернул сервер):
<html>
<head>
<link href='style.css' rel='stylesheet'>
</head>
<body bgcolor="#696969">
<img src="img/banner.jpg" width="100%" height="20%">
<html>
<head>
<link href='style.css' rel='stylesheet'>
</head>
<body>
</body>
</html>
<div class='inf' align='right'>Welcome, 21232f297a57a5a743894a0e4a801fc3!<br></div><div class='date-time' align='right'>20:10:41 05.04.19<br></div><html>
<head>
<link href='style.css' rel='stylesheet'>
</head>
<body>
</body>
</html>
<?php
function file_download($filename, $mimetype='application/octet-stream') {
if (file_exists($filename)) {
header($_SERVER["SERVER_PROTOCOL"] . ' 200 OK');
header('Content-Type: ' . $mimetype);
header('Last-Modified: ' . gmdate('r', filemtime($filename)));
header('ETag: ' . sprintf('%x-%x-%x', fileinode($filename), filesize($filename), filemtime($filename))); // ?????????? ????????????? ?????????
header('Content-Length: ' . (filesize($filename))); // ?????? ?????
header('Connection: close');
header('Content-Disposition: attachment; filename="' . basename($filename) . '";');
echo file_get_contents($filename);
} else {
header($_SERVER["SERVER_PROTOCOL"] . ' 404 Not Found');
header('Status: 404 Not Found');
}
exit;
}
?>
Этого не должно быть:
<html>
<head>
<link href='style.css' rel='stylesheet'>
</head>
<body bgcolor="#696969">
<img src="img/banner.jpg" width="100%" height="20%">
<html>
<head>
<link href='style.css' rel='stylesheet'>
</head>
<body>
</body>
</html>
<div class='inf' align='right'>Welcome, 21232f297a57a5a743894a0e4a801fc3!<br></div><div class='date-time' align='right'>20:10:41 05.04.19<br></div><html>
<head>
<link href='style.css' rel='stylesheet'>
</head>
<body>
</body>
</html>
Вот функция:
function file_download($filename, $mimetype='application/octet-stream') {
if (file_exists($filename)) {
header($_SERVER["SERVER_PROTOCOL"] . ' 200 OK');
header('Content-Type: ' . $mimetype);
header('Last-Modified: ' . gmdate('r', filemtime($filename)));
header('ETag: ' . sprintf('%x-%x-%x', fileinode($filename), filesize($filename), filemtime($filename))); // ?????????? ????????????? ?????????
header('Content-Length: ' . (filesize($filename))); // ?????? ?????
header('Connection: close');
header('Content-Disposition: attachment; filename="' . basename($filename) . '";');
echo file_get_contents($filename);
} else {
header($_SERVER["SERVER_PROTOCOL"] . ' 404 Not Found');
header('Status: 404 Not Found');
}
exit;
}
function file_download ($filename, $mimetype='application/octet-stream') {
if (file_exists ($filename)) {
header ($_SERVER["SERVER_PROTOCOL"] . ' 200 OK');
header ('Content-Type: ' . $mimetype);
header ('Last-Modified: ' . gmdate ('r', filemtime ($filename)));
header ('ETag: ' . sprintf ('%x-%x-%x', fileinode ($filename), filesize ($filename), filemtime ($filename)));
header ('Content-Length: ' . (filesize ($filename)));
header ('Connection: close');
header ('Content-Disposition: attachment; filename="' . basename ($filename) . '";');
// Открываем искомый файл
$f=fopen ($filename, 'r');
while (!feof ($f)) {
// Читаем килобайтный блок, отдаем его в вывод и сбрасываем в буфер
echo fread ($f, 1024);
flush ();
}
// Закрываем файл
fclose ($f);
} else {
header ($_SERVER["SERVER_PROTOCOL"] . ' 404 Not Found');
header ('Status: 404 Not Found');
}
exit;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение
как правильно написать что при каждом цикле получить последовательную цифру типа