PHP-download
|
Новый участник Сообщения: 8 |
Профиль | Отправить PM | Цитировать Подскажите как на php сделать download файла.
например, чтобы вызывать download.php?<параметр отвечающи за то, что хотим скачать> и после выполнения download.php, открывалось окно с предложением сохранения файла. или киньте ссылку где это описано. Спасибо, Дмитрий |
|
Отправлено: 18:11, 02-11-2003 |
Engrossed by the Void Сообщения: 2229
|
Профиль | Отправить PM | Цитировать Вот что-то валяется.
|
------- Отправлено: 22:04, 02-11-2003 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Ну вот вроде получилось, протестировал в IE, Opera, FlashGet
скрипт вызывается так: <URL путь к скрипту>download.php?file=1 т.е. для будущего предусмотрел параметр file, который будет принимать и другие значения, не только "1". <? switch ($file) { case 1: $URL_download = 'Полный путь к файлу'; $file_name='Имя файла, обычное, например prog.zip'; break; default: $URL_download = ''; } if ($URL_download!='') { if (ereg('Opera(/| )([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT'], $log_version)) { define('BROWSER_USER_VER', $log_version[2]); define('BROWSER_USER_AGENT', 'OPERA'); } else if (ereg('MSIE ([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT'], $log_version)) { define('BROWSER_USER_VER', $log_version[1]); define('BROWSER_USER_AGENT', 'IE'); } else if (ereg('OmniWeb/([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT'], $log_version)) { define('BROWSER_USER_VER', $log_version[1]); define('BROWSER_USER_AGENT', 'OMNIWEB'); } else if (ereg('Mozilla/([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT'], $log_version)) { define('BROWSER_USER_VER', $log_version[1]); define('BROWSER_USER_AGENT', 'MOZILLA'); } else if (ereg('Konqueror/([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT'], $log_version)) { define('BROWSER_USER_VER', $log_version[1]); define('BROWSER_USER_AGENT', 'KONQUEROR'); } else { define('BROWSER_USER_VER', 0); define('BROWSER_USER_AGENT', 'OTHER'); } $mime_type = (BROWSER_USER_AGENT == 'IE' || BROWSER_USER_AGENT == 'OPERA') ? 'application/octetstream' : 'application/octet-stream'; $file_size=filesize($URL_download); header('Pragma: public'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Content-Type: ' . $mime_type); header('Accept-Ranges: bytes'); header("Content-Length: ".$file_size); header('Content-Disposition: inline; filename="'.$URL_download.'"'); header('Content-Disposition: attachment; filename="'.$file_name.'"'); header("Content-Transfer-Encoding: binary" $fp = fopen($URL_download, 'rb'); $file_buffer = fread($fp, $file_size); fclose ($fp); print $file_buffer; exit(); } else { echo "File not found! Please change 'file' variable value!"; } ?> Для того, чтобы вывести текст, а потом автоматом загружать файл, я сделал следующее: 1. Создал файл info.php (вызывается тоже с параметром file, например <URL путь к скрипту>info.php?file=1 2. Этот файл выводит через обычные "echo" содержимое будущего html-файла. Ссылку на загрузку, если автоматическая не началась, т.к. такое возможно, если JavaScript отключить в браузере. 3. И в последок на OnLoad тела навешиваем функцию, в которой вызываем window.location = 'download.php?file=1, вот и всё. Всем огромное спасибо. |
Отправлено: 22:29, 10-11-2003 | #3 |
Engrossed by the Void Сообщения: 2229
|
Профиль | Отправить PM | Цитировать Mitiai, на будущее просьба выводить какой-либо код в теге code. В противном случае некоторые элементы вашего кода могут быть отображены некорректно.
|
------- Отправлено: 01:34, 11-11-2003 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интернет - Download Master | Valery51 | Программное обеспечение Windows | 126 | 05-12-2013 19:45 | |
Проблема с PHP(не передаются переменные из формы в PHP- скрипт) | Kirander | Вебмастеру | 21 | 03-08-2009 01:11 | |
C/C++ - [решено] PHP. Fatal error: Function name must be a string in /var/www/index.php on line 15 | Artem-Samsung | Программирование и базы данных | 6 | 29-11-2008 18:37 | |
[решено] Apache 2.2.8 + Php 5.2.6 + MySQL 5.0.51b (win) - не работает php | v0f41k | Вебмастеру | 4 | 11-05-2008 22:08 | |
Download Master | shchvi | Хочу все знать | 9 | 19-03-2005 22:13 |
|