См. Мой другой вопрос .
Я успешно установил простую передачу файлов, но я заметил, что попытка повторить что-либо на странице искажает файл, делая его непригодным.
Вот код:
$filename = $_GET['filename']; $dir = "C:/Users/Me/Desktop/"; $file = realpath($dir . $filename); //echo "$filename</br>$dir</br>$file"; if (file_exists($file)) { header('Content-Disposition: attachment; filename="'.basename($file).'"'); header('Content-Type: application/octet-stream'); header('Content-Length: ' . filesize($file)); readfile($file); exit; }
Это работает нормально, но если я раскомментирую эхо, загруженный файл поврежден и не будет открыт.
Это потому, что каким-то образом эхо записывается в файл, который нужно загрузить? Возможно (возможно), я не полностью делаю это выше.
Очевидно, что эхо не будет отображаться, если вышеуказанный код будет успешно выполнен в любом случае, но какие другие методы отладки вы бы порекомендовали? Ясно, что повторяющиеся значения переменных не всегда будут работать. Любые альтернативы?