48547 (Разработка веб файлового менеджера с использованием технологии Ajax), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Разработка веб файлового менеджера с использованием технологии Ajax", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48547"

Текст 2 страницы из документа "48547"

Таблица 2.1. Базовые технологии Ajax

JavaScript

Это язык сценариев общего назначения, предназначенный для включения кода в Web-приложение. Интерпретатор JavaScript в составе Web-браузера обеспечивает взаимодействие со встроенными средствами браузера. Данный язык используется для создания Ajax-приложений

CSS (Cascading Style Sheets)

CSS предоставляет возможность определять стили

элементов Web-страницы. С помощью данной технологии можно без труда обеспечить согласованность внешнего вида компонентов приложения. В Ajax CSS используется для изменения представления интерфейса в процессе интерактивного взаимодействия

DOM (Document Object Model)

DOM представляет структуру Web-страницы в виде набора объектов, которые можно обрабатывать средствами JavaScript. Это дает возможность изменять внешний вид интерфейса Ajax-приложения в процессе работы

Объект XMLHttpRequest

Объект XMLHttpRequest позволяет программисту

получать данные с Web-сервера в фоновом режиме. Как правило, возвращаемая информация предоставляется в формате XML, но данный объект позволяет также работать с любыми текстовыми данными

Очень важно, что средства поддержки всех рассматриваемых здесь технологий уже присутствуют в большинстве современных браузеров, включая Microsoft Internet Explorer, семейство Mozilla/Gecko, Firefox, Mozilla Suite, Netscape Navigator, Camino, Opera, Apple Safari и Konqueror (который ориентирован на выполнение в среде Unix KDE). К сожалению, конкретные реализации этих технологий в разных браузерах различаются рядом важных деталей, более того, различия встречаются даже в разных версиях одного продукта. Правда, за последние пять лет положение дел несколько улучшилось, и разработаны способы, позволяющие справиться с несовместимостью браузеров.

В составе каждой современной операционной системы имеется браузер. Таким образом, подавляющее большинство настольных и портативных компьютеров уже готово для запуска Ajax-приложений. Разработчики программ на базе Java или .NET могут лишь мечтать об этом. Браузеры для КПК и мобильных телефонов обычно имеют усеченный набор возможностей и не поддерживают полный набор Ajax-технологий. Следует заметить, что если бы средства поддержки Ajax и имелись в наличии, все равно размеры экрана и особенности ввода данных создавали бы существенные проблемы при работе с Ajax-приложениями. На сегодняшний день инфраструктура Ajax ориентирована лишь на настольные и портативные компьютеры.

Файловый веб менеджер на основе технологии Ajax

Основные возможности

Данный файловый веб менеджер предназначен для работы с файлами по сети, используя стандартные программы для просмотра интернет страниц, например Explorer или Firefox.

К основным возможностям программы относится:

  • просмотр;

  • редактирование;

  • копирование;

  • переименование;

  • перенос;

  • создание каталога;

  • создание файла;

  • удаление.

Принцип реализации программного кода

Файловый веб менеджер написанный на Ajax работает на стороне сервера, что требует наличия для его работы, сервер работающий с Php скриптами. Данная программа является кросс платформенной, что позволяет использовать её как на NT платформах, так и на Unix системах.

Основным языком программирования для написания данного менеджера, является Php.

Функция реализации просмотра файлов

function copy_dir($src,$dst) //копирование каталога с поддерикториями

{

if(!file_exists($src)) return false; //если файла не существует, выходит из функции

if(is_file($src)) return @copy($src,$dst); //если файл производит его копирование и фозвращает результат копирования

$error=false;

if(!mkdir($dst)) $error=true; //создает требуемый каталог

$dh=@opendir($src); //открывает каталог, который необходимо скопировать

while(false!==($f=readdir($dh))) { // читает послеовательно содерживое каталога

if($f=='.' || $f=='..') continue; //перехрдит на следующую итерацию, если каталог . или ..

if(!copy_dir($src.'/'.$f,$dst.'/'.$f)) $error=true;

}

@closedir($dh);

return !$error;

}

function TryCopy($src,$dst,$name)

{

return copy_dir($src,$dst."/".$name);

}

function doView()

{

global $FS;

$fname=$FS.$_POST["data"]["fname"];

if (!file_exists($fname)) {echo "ViewAnswer(2);";return false;}

if (($text=@file_get_contents($fname))===false) echo "ViewAnswer(1);";

else {

$text=preg_replace("/\"/","\\\"",$text);

echo "text=\"".mysql_escape_string($text)."\"; ViewAnswer(0)";

}

}

doView();

?>

Функция реализации редактирования и создания файла

function Save($name) // сохранение файла

{

if (!($f=@fopen($name,"w"))) return 1; //попытка открытия файла для записи

fputs($f,$_POST["data"]["text"]); //запись в файл

fclose($f); //закрытие файла

return 2;

}

function doEdit()

{

global $FS;

$saved=0;

$name=$FS.$_POST["data"]["name"];

if (@$_POST["data"]["save"]) $saved=Save($name);

if (!file_exists($name)) {echo "EditAnswer(1,$saved);";return false;}

if (($text=@file_get_contents($name))===false) echo "EditAnswer(1,$saved);";

else

echo "text=\"".mysql_escape_string($text)."\";EditAnswer(0,$saved);";

}

doEdit();

?>

Функция реализующая копирование

function copy_dir($src,$dst) //копирование каталога

{

if(!file_exists($src)) return false; //выход из функции если копируемого файла/каталога не существует

if(is_file($src)) return @copy($src,$dst); // если необходимо скопировать файл, производим копирование и возвращаем результат копирования(ошибка или нет)

$error=false;

if(!mkdir($dst)) return false; //если не удалось создать каталог выходим их функции

$dh=@opendir($src); // открываем каталог для работы

while(false!==($f=readdir($dh))) { // цикл выполняется пока в каталоге не перебранный все файлы

if($f=='.' || $f=='..') continue; //если файл/каталог - . или .. переходим на следующую итерацию

if(!copy_dir($src.'/'.$f,$dst.'/'.$f)) $error=true; // вызываем эту же функцию, передав имя копируемого файла/каталога и имя результирующего каталога

}

@closedir($dh); //закрываем открытый каталог

return !$error;

}

function TryCopy($src,$dst,$name)

{

return copy_dir($src,$dst."/".$name); // вызываем функцию копирования

}

function doCopy()

{

global $FS;

$src=$FS.$_POST["data"]["source"]; //считываем исходное имя каталога/файла из данных, пришедших с сервера

$dst=$FS.$_POST["data"]["dst"]; //считываем каталог в который необходимо скопировать

$name=$_POST["data"]["name"]; //считываем нового имя источника копирования

if (!file_exists($dst)) {echo "CopyAnswer(3);";return false;}// проверяем существование каталога в который необходимо скопировать

if (!file_exists($src)) {echo "CopyAnswer(2);";return false;} // проверяем существование источника копирования

if (!TryCopy($src,$dst,$name)) echo "CopyAnswer(1);"; // выполняем копирование и возвращаем в качестве результата вызов

else echo "CopyAnswer(0)"; // функции с определенны статусом завершения копирования

}

doCopy();

?>

Функция реализующая перенос и переименование.

function TryRename($old,$new)

{

return @rename($old,$new);//перемименование каталога/фалйа

}

function doRename()

{

global $FS;

$old=$FS.$_POST["data"]["oldname"];

$new=$FS.$_POST["data"]["newname"];

if (!file_exists($old)) {echo "RenameAnswer(2);";return false;}

if (!TryRename($old,$new)) echo "RenameAnswer(1);";

else echo "RenameAnswer(0)";

}

doRename();

?>

Функция реализующая создание каталога

function doCreate()

{

global $FS;

$src=$FS.$_POST["data"]["dir"];

$name=$_POST["data"]["name"];

if (!file_exists($src)) {echo "CreateDirAnswer(2);";return false;} //проверяет существование файла/каталога с таким же именем

if (!@mkdir($src."/".$name)) echo "CreateDirAnswer(1);"; //создает каталог

else echo "CreateDirAnswer(0)";

}

doCreate();

?>

Функция для удаления каталога или файла

function del_dir ($path)

{

$dir = @opendir($path);//открытие каталога

while(($fname = readdir($dir))){ // цикл, осуществляющий проссмотр содержимого файла

if (($fname==".") or($fname=="..")) continue;//переход на следующую итерацию, если имя файла/каталога - . или ..

if ( is_file ($path."/".$fname)) @unlink ($path."/".$fname);//если просмотриваемый элемент - файл, удаляем его

else if (!del_dir ($path."/".$fname)) return false; //если просмотриваемый элемент - каталог,вызываем эту же функцию

}

return @rmdir($path);//удаляем каталог и возвращаем результат удаления

}

function TryDelete($path)

{

if (is_dir($path)) return del_dir($path);

else return @unlink($path);

}

global $FS;

$path=$FS.$_POST["data"]["delname"];

if (!file_exists($path)) echo "DeleteAnswer(2);";

if (!TryDelete($path)) echo "DeleteAnswer(1);";

else echo "DeleteAnswer(0)";

?>

Заключение

Я считаю что выполнил основное назначение работы.В ходе проделанной работы я получили представление о технологии Ajax , наглядно продемонстрировал её возможности и преимущества по сравнению с другими технологиями.

При проектировании своего веб менеджера, я изучил возможности серверных программ поддерживающих работу с Php скриптами, возможности языка программирования Php и Java скриптов.

16



Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4144
Авторов
на СтудИзбе
667
Средний доход
с одного платного файла
Обучение Подробнее