Php читать содержимое файла общего сетевого файла - PullRequest
6 голосов
/ 21 февраля 2011

Я ищу способ прочитать содержимое файла, расположенного на сетевом ресурсе.Я могу использовать IP-адрес хоста общего доступа и папки общего доступа, чтобы добраться до места, но я не знаю правильную команду и синтаксис для этого file_get_contents?Еореп?

$text = fopen('//128.251.xxx.xxx/Common/sample.txt', 'r');

или что-то в этом роде?

ОБНОВЛЕНИЕ * Я также не могу получить доступ к файлу через окно браузера, хотя я знаю, что файл находится в этом каталоге ...

Ответы [ 2 ]

7 голосов
/ 22 февраля 2011

Лучший способ (в зависимости от ваших потребностей) - просто смонтировать его на локальном компьютере, а затем прочитать с монтирования.Это позволяет отвлекать все сетевое взаимодействие.

Итак, в Linux:

mount -t cifs //192.168.XXX.XXX/share /path/to/mount -o user=username,password=password

Затем, в php, просто получить к нему доступ из точки монтирования:

$data = file_get_contents('/path/to/mount/path/to/file.txt');
4 голосов
/ 21 февраля 2011

Согласно Руководство по файловой системе PHP UNC / SMB файлы должны быть доступны.Попробуйте следующее:

\\server\share\file.txt

Это может быть один из тех случаев, когда // может быть ошибочно принят за ссылку на корневой каталог.И учитывая, что это путь SMB, я бы использовал традиционные обратные слеши.

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