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



Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5140
Авторов
на СтудИзбе
442
Средний доход
с одного платного файла
Обучение Подробнее