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, я бы использовал традиционные обратные косые черты.