|
Многие книги по Web-программированию отрицают возможность создания и использование файлов на клиентском компьютере. однако, это совсем не так. Я в этом убедился, когда копаясь по документации VBScript и JavaScript, внезапно обнаружил эти функции. Недостаток их в том, что перед их выполнением IE и другие браузеры запрашивают подтверждение на их выполнение, но это и правильно, кто знает, что этот программист задумал ввести в файл... Давайте теперь приступим к самим функциям.
1. Создание пустого файла На первый взглад эта функция может показаться бесполезной, однако, как вы занесете данные в файл, не имея самого файла, не будем же мы портить фалы посетителя нашей страници.
Для того, чтобы создать пустой файл с помощью VBSctipt надо написать в HTML-файле следующий код:
<script language="VBScript"> Dim fso, f1 Set fso = CreateObject("Scripting.FileSystemObject") Set f1 = fso.CreateTextFile("c:\testfile.txt", True) </script>
Ту же самую функцию выполняет и следующий код, написанный уже на JavaScirpt:
<script language="JavaScript"> var fso, f1; fso = new ActiveXObject("Scripting.FileSystemObject"); f1 = fso.CreateTextFile("c:\\testfile.txt", true); </script>
Вот теперь, создав чистый файл, можно приступить к его заполнению...
2. Запись данных в файл Открытие файла. Для того, чтобы открыть файл надо применить следующий скрипт:
Dim fso, ts Const ForWriting = 2 Set fso = CreateObject("Scripting. FileSystemObject") Set ts = fso.OpenTextFile("c:\test.txt", ForWriting, True)
Данный скипт написан на VBScript. Здесь по-моему все понятно. ForWriting - флаг, показывающий зачем открывать файл. Вот тот же скрипт на JavaScript:
var fso, ts; var ForWriting= 2; fso = new ActiveXObject("Scripting.FileSystemObject"); ts = fso.OpenTextFile("c:\\test.txt", ForWriting, true);
Надо отметить, что при этом файлы будут автоматически создаваться.
Непосредственная запись в файл. Для занесения строчек текста в файл используется следующие методы: | Задача | Метод | | Вставка новой строки, с последующей возможностью добавления в этуже строку данных, т.е. в конце строки нет символов переноса строки и возврата каретки. | Write | | Вставка новой строки с переносом на следующую. | WriteLine | | Вставка одной или несколких пустых строк. | WriteBlankLines | Вот примеры скриптов. На VBScript:
Sub CreateFile() Dim fso, tf Set fso = CreateObject("Scripting.FileSystemObject") Set tf = fso.CreateTextFile("c:\testfile.txt", True) ' Вставка строки с переносом на новую. tf.WriteLine("Testing 1, 2, 3.") ' Вставка 3 путых строк. tf.WriteBlankLines(3) ' Вставка новой строки, без переноса. tf.Write ("This is a test.") ' Закрытие файла. tf.Close End Sub
На JavaScript:
function CreateFile() { var fso, tf; fso = new ActiveXObject("Scripting.FileSystemObject"); tf = fso.CreateTextFile("c:\\testfile.txt", true); // Вставка строки с переносом на новую. tf.WriteLine("Testing 1, 2, 3.") ; // Вставка 3 пустых строк. tf.WriteBlankLines(3) ; // Вставка новой строки, без переноса. tf.Write ("This is a test."); ' Закрытие файла. tf.Close(); }
Вот и все. Что с этим делом делать, вы наверное уже знаете. В мирных целях эта возможность создавать файлы на клиентских машинах очень полезна. Можно предложить посетителю скачать ваш фирменных значок и установить его в кчестве значка дика C, D, E, F, ..., Z. Можно создать autorun для диска X, в котором будет прописана строка, которая позволит загружать ваш фирменный сайт при запуске этого диска. Сохранение настроек без использования cookies и т. д. и т.п. На этой оптимистической ноте я заканчиваю. Спасибо за внимание. Алексей Голубев
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
http://www.frnet.narod.ru/
 |