Копирование файла PHP на другой сервер; Доступ к файловой системе на другом сервере - PullRequest
0 голосов
/ 25 марта 2010

Я пытаюсь написать PHP-скрипт для копирования файлов с вашего локального компьютера на сервер:

$ destination_directory = 'I: \ path \ to \ file \'. $ Theme_number;

if (! @ Opendir ($ desination_directory)) { echo 'Извините, каталог назначения не найден.'; умереть(); }

Я проверяю доступ к папке назначения с помощью этого процесса и получаю сообщение об ошибке. Кто-нибудь знает, что я делаю не так? У меня почти все остальное на месте. Я просто не знаю, как получить доступ к этому другому серверу.

Приложение: Я принял ответ ниже, потому что он технически правильный, и я смог получить сервер Apache для принятия сервером IIS, однако, для того, что я пытался выполнить ( дать любому, кто использовал скрипт беспрепятственно возможность переноса файлов на сервер), было невозможно. Мне бы пришлось настроить определенные функции на каждом из их компьютеров. Кажется, лучшим обходным путем было бы установить сценарий на сервере, на который вы хотите скопировать файлы, а затем переместить их с локального диска в это место более традиционным способом. Однако это означало бы файловый сервер с возможностями CGI-exec, которым наш сервер не обладал.

Ответы [ 4 ]

2 голосов
/ 25 марта 2010

Я предполагаю, что вы находитесь в Windows, и у вас есть я: сопоставлен с общим ресурсом, таким как \\ server2 \ files ...

Если так, то это твоя проблема. Эти сопоставления доступны только для текущих пользователей (например, учетной записи администратора), а не для учетной записи IUSR, с которой, вероятно, работает ваш php (при условии IIS). Решение: не используйте сопоставления, вместо этого используйте полное имя пути 'unc', то есть '\\ server \ share \ folder \ file.ext', также помните, что учетной записи IUSR потребуется доступ к этим общим папкам / папкам / файлам

0 голосов
/ 25 марта 2010

Вы также можете посмотреть на функции FTP .

0 голосов
/ 25 марта 2010
$destination_directory = 'I:/path/to/file/' . $theme_number;
0 голосов
/ 25 марта 2010

Доступен ли этот другой сервер через I:\path\to\file\\?

Если PHP сообщает об ошибке при открытии каталога, вы можете убедиться, что он существует и у вас есть права доступа к нему.

Кроме того, две косые черты (\\) также могут вызывать проблемы. Попробуйте проверить это.

...