Подключение к удаленному серверу AFP с использованием PHP - PullRequest
0 голосов
/ 16 февраля 2011

Я пытаюсь создать скрипт php для подключения к серверу afp и получения списка каталогов (с каждым размером файла). Сервер является локальным в нашем офисе, но я не могу просто сделать скрипт на стороне сервера afp. На моей машине я использую что-то вроде этого:

$filesInDir = array();
$filesInMySQL = array();

if (is_dir($uploadDir)) {
    $dh = opendir($uploadDir);
    if ($dh) {
        $file = readdir($dh);

        while ($file != false) {
            $path = $uploadDir . "/" . $file;
            $type = filetype($path);

            if ($type == "file" && $file != ".DS_Store" && $file != "index.php") {
                $filesInDir[] = $file;
            }

            $file = readdir($dh);
        }

        closedir($dh);
    } else {
        echo "Can't open dir " . $uploadDir;
    }
} else {
    echo $uploadDir . " is not a folder";
}

Но я не могу подключиться к серверу afp. Я посмотрел в fopen, что он не позволяет afp, и я не думаю, что это позволило бы листинга каталога:

opendir("afp://ServerName/path/to/dir/");

Warning: opendir() [function.opendir]: Unable to find the wrapper "afp" - did you forget to enable it when you configured PHP? in...
Warning: opendir(afp://ServerName/path/to/dir/) [function.opendir]: failed to open dir: No such file or directory in...`

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

например.

mkdir afp://ServerName/output/output001/
cp afp://ServerName/path/to/dir/neededfile.txt afp://ServerName/output/output001/

Ответы [ 2 ]

0 голосов
/ 18 февраля 2011

Я занимаюсь разработкой на Mac Mini, поэтому я понял, что могу просто смонтировать общий ресурс afp и использовать readdir.Мне пришлось смонтировать диск, используя следующее:

sudo -u _www mkdir /Volumes/idisk
sudo -u _www mount_afp -i afp://<IP>/sharename/ /Volumes/idisk/

Более подробная информация здесь

0 голосов
/ 16 февраля 2011

Может быть, использовать http://sourceforge.net/projects/afpfs-ng/ для его установки ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...