Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Реализация файловой системы WebDAV с помощью PHP и SabreDAV. Часть 3

Автор: Квентин Зерваас (Quentin Zervaas), 29 марта 2010.

Поднимаем сервер WebDAV

Начало работы с SabreDAV очень простое. После того как мы сохранили наши файлы на сервере, можно использовать уже готовый обработчик локальной файловой системы.

Замечание: позже в этой статье мы кратко рассмотрим создание виртуальных файловых систем на тот случай, если вы хотите хранить свои файлы в базе данных.

В этом разделе мы начнем пошагово создавать server.php, уже упомянутый в этой статье. Вот полный путь к этому файлу:

  • /var/www/dav/htdocs/server.php

Класс сервера SabreDAV

Основной класс, который управляет сервером WebDAV — это Sabre_DAV_Server. Сервер создается в результате инстанцирования этого класса и вызова его метода exec().

При инстанцировании Sabre_DAV_Server вы должны указать ему какое нибудь дерево файловой системы. Последнее является объектом класса, расширяющего абстрактный Sabre_DAV_Tree. Для этого мы будем использовать класс Sabre_DAV_ObjectTree.

В качестве аргумента Sabre_DAV_ObjectTree принимает всего один аргумент, являющийся экземпляром Sabre_DAV_FS_Directory. Последний используется для указания директории в файловой системе.

В следующем листинге демонстрируется, как создавать собственное дерево файловой системы. Если вы храните файлы в другой директории, соответственно измените переменную $path.

Листинг 3. Создание объекта дерева SabreDAV:

<?php
    require_once('Sabre.autoload.php');
 
    $path = '/var/www/dav/files';
 
    $tree = new Sabre_DAV_ObjectTree(
        new Sabre_DAV_FS_Directory($path)
    );
 
    // ...
?>

Теперь мы можем инстанцировать Sabre_DAV_Server указав ему переменную $tree. Когда мы сделаем это, просто вызовем exec(). Он обработает любой запрос клиента к серверу WebDAV.

Листинг 4. Обработка запроса WebDAV:

<?php
    // ...
 
    $server = new Sabre_DAV_Server($tree);
    $server->exec();
?>

Теперь у вас есть работающий сервер WebDAV! Однако, ваша работа еще не закончена. Вы можете теперь читать файлы, но вы, вероятно, пока не можете их записывать (это зависит от вашей платформы).

В следующем разделе я покажу вам, как монтировать ново-созданный диск к вашему компьютеру, а потом покажу вам некоторые плагины. Вам понадобятся эти плагины, чтобы сделать ваш сервер полезнее.

Монтирование веб-диска к вашему компьютеру

Давайте теперь рассмотрим, как монтировать диск WebDAV к вашему локальному компьютеру. Данные инструкции несколько отличаются для Windows и OS X, так что ниже описаны оба метода.

Совет: сейчас многие FTP-клиенты также поддерживают WebDAV. Вы может использовать их для соединения с вашим сервером WebDAV.

Ваш сервер WebDAV пока не полностью функционален. Вы можете просматривать файлы, которые расположены на сервере, но вы пока не можете их редактировать, перемещать или удалять. Это потому что мы еще не добавили на сервер блокировку файлов. Мы сделаем это позже в данной статье.

Замечание: пока мы не реализовали аутентификацию на нашем сервере, вы можете пропустить шаги по заданию логина и пароля. Если они запрашиваются, попробуйте приконектиться как гость. Когда мы добавим аутентификацию, вы сможете вернуться к этому разделу.

Добавление диска WebDAV в Microsoft Windows

  1. Откройте Windows Explorer.
  2. Выберите в меню ToolsMap Network Drive.
  3. Выберите букву диска.
  4. Введите URL папки (такой, как http://dav.example.com/dav). Напомним: в Windows вы не можете примонтировать корневую папку диска.
  5. Кликните Finish.
  6. Введите ваш логин и пароль, когда запросят.

Добавление диска WebDAV в Mac OS X

  1. Откройте Finder.
  2. Выберите в меню GoConnect to Server (или нажмите Command-K)
  3. Введите адрес сервера в качестве URL (такой, как http://dav.example.com)
  4. Кликните Connect
  5. Введите ваш логин и пароль, когда запросят.

Перевод с английского: Дмитрий Скоробогатов, специально для xBB.uz, 22.01.2014
Оригинальный текст может быть найден по адресу http://www.phpriot.com/articles/web-dav-with-php


Предыдущие публикации:

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2014-01-22 04:13:21

Метки материала: webdav, файловая система, php, система webdav, sabredav, реализации webdav, веб, сервер webdav, файлы, библиотека sabredav, web

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.