У меня возникла проблема с изменением моей PHP-программы. Первоначально программа загрузила конкретный файл из окна Unix, который работал нормально. Теперь я немного изменил его, чтобы пользователь мог ввести имя файла для загрузки.
Теперь это не работает, и я не знаю, почему. Он не бросает никаких ошибок, которые я вижу; страница просто возвращает пустое.
PHP version - 5.2.13 Apache - 2.0 Unix Box - HP-UX 11.11 (old version; latest is 11.31) local PC - Windows XP Pro Browser - IE 7, Mozilla
Код:
<html> <body> <?php ob_start(); if(isset($_POST['name'])) { $file = $_POST['name']; echo "file is $file" ; if(!file_exists($file)) { die("file not found: " ); } $name = basename($file); header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.$name.'"'); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); ob_clean(); readfile($file); exit; } else { echo " <form action='download1.php' method='post' enctype='multipart/form-data'> <b> Enter the file name: </b><input type='text' name='name'> <br> <br> <button type='submit'> Upload </button> </form>"; } ?> </body> </html>
Что я делаю не так?