поднял сервер с помощью WAMP на собственном компьютере. Идея в том, чтобы перекидывать тяжелые файлы не покупая при этом облачных хранилищ. Файл перекидывается, но скорость почему-то 648 КБ/с. Хотя с обеих сторон 100 мб/с должно быть. Сам сервер написан на php, и имеет следующий код: download.php
<?php
if(isset($_GET['filename'])) {
$filename = $_GET['filename'];
$file_path = $filename; // Замените на фактический путь к вашей папке с файлами
if(file_exists($file_path) && is_file($file_path)) {
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($filename).'"');
header('Content-Length: ' . filesize($file_path));
header('Cache-Control: private'); // Для обеспечения надлежащего кэширования
set_time_limit(0); // Установка неограниченного времени выполнения скрипта
ob_clean();
flush();
$file = fopen($file_path, 'rb');
while(!feof($file)) {
echo fread($file, 8192);
flush();
}
fclose($file);
exit;
}
else {
echo "Файл не найден. ";
}
}
?>
,
index.php:
<!DOCTYPE html>
<html>
<head>
<title>Загрузка файлов</title>
</head>
<body>
<h1>Загрузка файлов</h1>
<p>Выберите файл для загрузки:</p>
<form action="download.php" method="get">
<select name="filename">
<?php
$dir = 'data/';
$files = scandir($dir);
foreach($files as $file) {
if($file != '.' && $file != '..') {
echo '<option value="'.$dir.$file.'">'.$file.'</option>';
}
}
?>
</select><br><br>
<button type="submit" name="submit">Загрузить</button>
</form>
</body>
</html>
Итак, вопрос, что может ограничивать скорость передачи файлов помимо скорости подключения? Может ли это делать Apache и как это исправить?