#php #file-get-contents #txt
#php #file-get-contents #txt
Вопрос:
Мне нужно прочитать и проанализировать txt
файл в сети с помощью PHP.
«Предупреждение: file_get_contents(file//10.0.2.129/lims/lims.txt ): не удалось открыть поток: нет такого файла или каталога в C:AppServwwwmailindex.php на линии 2»
Таким образом, я получаю сообщение об ошибке.
<?php
$txt_file = file_get_contents('file//10.0.2.129/lims/lims.txt');
function sp($x) {
return preg_split("/ss |s*((d{4}).*)/", $x,0,PREG_SPLIT_DELIM_CAPTURE);
}
$array = preg_split("/n/", $txt_file);
$processed = array_map('sp', $array);
print_r(json_encode($processed));
?>
Комментарии:
1.
file//
недопустимый протокол2. итак, как я могу сделать
3. Для начала используйте действительный протокол
4. Вам не хватает двоеточия:попробуйте file:// See php.net/manual/en/wrappers.php для действительных протоколов
Ответ №1:
Попробуйте это
\\10.0.2.129\lims\lims.txt
Комментарии:
1. Предупреждение: file_get_contents(\10.0.2.129limslims.txt ): не удалось открыть поток: отказано в разрешении в C:AppServwwwmailindex.php в строке 2
2. я думаю, вам нужно сначала разрешить разрешение
3. я не знаю, как разрешить
Ответ №2:
file_get_contents
может использоваться с локальными файлами или через протоколы (перечислены здесь: https://www.php.net/manual/wrappers.php )
В вашем примере вы пропустили «:» между «file» и «//». И, исходя из IP-адреса, ваш файл находится на общем диске, поэтому вы должны добавить сетевой префикс \
раньше.
Так и должно быть file_get_contents('file://\\10.0.2.129/lims/lims.txt')
. Поскольку «file: //» является протоколом по умолчанию, вы можете удалить его только для сохранения file_get_contents('\\10.0.2.129/lims/lims.txt')
Комментарии:
1. Можем ли мы использовать что-то другое вместо file_get_contents?
2. Чтобы прочитать файл? Да, посмотрите на комбинации fopen, fread и fclose: php.net/manual/fr/function . fread.php , первый пример
Ответ №3:
попробуйте использовать file_get_contents(‘./lims/lims.txt ‘); но убедитесь, что вы выбрали правильный путь в зависимости от местоположения, из которого вы вызываете эту функцию.
Комментарии:
1. Вопрос заключается в чтении файла из сети, а не из того же каталога, что и скрипт