Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
 Аватар для GamePost
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 93

Скачивание файла с сервера с указанием сохраняемого названия

08.12.2014, 19:52. Показов 2530. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Скачивание файла с сервера с указанием сохраняемого названия.
Вроде всё понятно. Имеется файл на сервере, мне нужно его скачать немного с другим названием.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
$filename = $_GET['filename'];
 
 // нужен для Internet Explorer, иначе Content-Disposition игнорируется
if(ini_get('zlib.output_compression'))
  ini_set('zlib.output_compression', 'Off');
 
$file_extension = strtolower(substr(strrchr($filename,"."),1));
 
if( $filename == "" )
{
          echo "ОШИБКА: не указано имя файла.";
          exit;
} elseif ( ! file_exists( $filename ) ) // проверяем существует ли указанный файл
{
          echo "ОШИБКА: данного файла не существует.";
          exit;
};
switch( $file_extension )
{
          case "pdf": $ctype="application/pdf"; break;
          case "exe": $ctype="application/octet-stream"; break;
          case "zip": $ctype="application/zip"; break;
          case "doc": $ctype="application/msword"; break;
          case "xls": $ctype="application/vnd.ms-excel"; break;
          case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
          case "mp3": $ctype="audio/mp3"; break;
          case "gif": $ctype="image/gif"; break;
          case "png": $ctype="image/png"; break;  
          case "jpeg":
          case "jpg": $ctype="image/jpg"; break;
          default: $ctype="application/force-download";
}
header("Pragma: public"); 
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // нужен для некоторых браузеров
header("Content-Type: $ctype");
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename)); // необходимо доделать подсчет размера файла по абсолютному пути
readfile("$filename");
exit();
?>
Такой код не подходит, он скачивает файл по названию.

Чтоб ссылка была такая: сайт.ру/save.php?filename=googog.exe

Добавлено через 2 часа 10 минут
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$file = $_GET['fn'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, "http://kinosu.net/downloader.exe");
$result = curl_exec($ch);
curl_close($ch);
 
if ($result)
{
    header('Content-type: application/octet-stream');
    header('Content-Disposition: attachment; filename=' . $file);
    header('Content-Length: ' . strlen($result));
    echo $result;
    exit();  
}
?>
Такое скачивает приложение, но оно немного не то, оно вообще не запускается
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.12.2014, 19:52
Ответы с готовыми решениями:

Скриншот с указанием названия файла.
Подскажите пожалуйста как сделать скриншот формы, но название скрина брать из поля Edit? вот мой код: procedure...

Скачивание файла с сервера
Здравствуйте! Есть такой код. Тут при нажатии на кнопку происходит скачивание файла с сервера и после того как файл скачается идет его...

Скачивание файла с сервера
Здравствуйте , пишу сайт и возникла потребность в том чтобы пользователь скачал файл с сервера на котором размещен мой сайт не могу...

4
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
08.12.2014, 20:15
HTML5
1
<a href="имя-на-сервере.rar" download="Имя-для-скачивания.rar">Download</a>
Или

PHP
1
header('Content-Disposition: attachment; filename="Имя-для-скачивания.rar"');
0
 Аватар для GamePost
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 93
08.12.2014, 20:22  [ТС]
Padimanskas, ничего ведь не происходит. Можно ли поподробнее?
Первый способ ваш: http://5aq.ru/other/ea.html
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
08.12.2014, 22:01
http://stackoverflow.com/quest... loading-it
0
 Аватар для GamePost
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 93
08.12.2014, 23:29  [ТС]
Цитата Сообщение от Padimanskas Посмотреть сообщение
<a href="имя-на-сервере.rar" download="Имя-для-скачивания.rar">Download</a>
Да, но файл является приложением (*.exe), и нужно сохранять именно его, а не архив или что-нибудь другое. А приложение качается только с оригинальным названием.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.12.2014, 23:29
Помогаю со студенческими работами здесь

Скачивание файла с сервера
Здравствуйте, уважаемые. Очень нужна ваша подсказка либо помощь. Необходимо, чтобы при обращении к сервлету с сервера загружался файл....

Скачивание файла с сервера
Как скачать файл с сервера с помощью PHP?

Скачивание файла с FTP-сервера
Здравствуйте. Подскажите как загрузить файл с сервера по ftp?

Скачивание файла с ftp сервера
Привет! Решил попробовать написать систему обновления для своей программы. Есть вот такая идея: создать сайт и вручную залить по ftp на...

Скачивание Excel файла с диска сервера
Добрый день. Сам удивляюсь, но не могу скачать файл с сервера. Подскажите, пожалуйста, кто проделывал это на MVC? Гугл уже кончился.. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru