Колориметрия, печать и препресс: технологии Главная Форум Галерея Контакты Download Статьи
Сражаясь неустанно,
доживём мы, Санчо,
до Золотого века!
 

Форум колористов и полиграфистов

Колориметрия и печать: технологии
 
Текущее время: 12:20, Пт, 17 авг 2018

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: 18:58, Ср, 29 фев 2012 
Не в сети
Администратор

Зарегистрирован: 16:58, Ср, 18 авг 2004
Сообщения: 799
Откуда: Москва
Когда писал спектральный калькулятор решил, что полезно будет сделать кнопочку, которая сохраняла бы результат работы скрипта в текстовый файл, а не только результат бы выводился в окно. Чтобы пользователю не открывать notepad и копировать туда данные со страницы а получить результат в виде txt-файла. К сожалению корректного лаконичного решения исключительно на JavaScript нет, придется немного задействовать php. Вот мое решение. Для начала создадим на странице html-костыль (скрытый input) и кнопку с именем "SaveAs" для отправки нужного нам содержания - переменной аbc - php-скрипту save_as.php:
<form name="post" method="post" action="http://...адрес.../save_as.php">
<input type="hidden" name="color" value="" />
<input value="SaveAs" onclick="saveAs();" />
</form>
Теперь на JavaScript напишем функцию saveAs():
function saveAs(){
document.post.color.value = abc;
document.post.submit();
}
Все готово для отправки данных - переменной abc - методом POST. Теперь их нужно офрмить в виде txt-файла, который пользователю будет предложено сохранить себе на компьютер, здесь лаконично и красиво нам поможет скрипт на php - save_as.php. Вот его содержание:
<?php
header("Content-type:application/txt");
$dateandtime = date ("Y_m_d_H_i_s_A");
header("Content-Disposition:attachment;filename=color_data_$dateandtime.txt");
echo $_POST['color'];
?>
В результате у пользователя не откроется страница save_as.php а ему будет предложено не уходя со страницы, где был запущен наш процесс сохранения, сохранить или не сохранять текстовый документ color_data_текущая_дата_и_время.txt у себя на компьютере. Никаких копий файла color_data_текущая_дата_и_время.txt при этом на сервере не остается, файла как бы и не существует, его заголовок и содержание сгенерил короткий скрипт из 4 строк. Можно было и из трех строк - но уж очень хотелось добавить в название файла дату и время для его уникальности а не просто обозвать файл Untitled.txt. Пользователь может ведь захотеть сохранить и несколько файлов с разными результатами работы спектрального калькулятора в одну папку, но браузер не предлагает пользователю задать произвольное имя txt-файлу при его сохранении. Поэтому лучше позаботиться об уникальности имени файла.
Средствами исключительно JavaScript без 4 строчек кода на PHP у меня не получилось соблюсти все условия поставленной задачи: либо у файла было расширение не txt, либо txt не сохранялся как файл, а открывался в браузере в виде новой страницы.
[ img ]


Вернуться к началу
2018.navalny.com
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти: 

cron
© CIELab.XYZ
Создано на основе phpBB® Forum Software © phpBB Limited
Конференция запущена 18 августа 2004 года | Защищено от спама системой stopforumspam
Всего посещений - 4561000 | Всего за день - 589 | Уникальных сегодня - 126, вчера - 286, позавчера - 300