Php чтение содержимого файла сетевого ресурса

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

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

или что-то подобное?

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

2 ответов


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

Итак, в 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');

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

\server\share\file.txt

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