Мне нужно открыть файл с помощью fopen и прочитать все содержимое.
Файл доступен через соединение ssh-sftp:
Вот мой код для подключения, открытия и чтения файла:
//ssh connection
$connection = ssh2_connect($host, $port);
//open the file
$handle = fopen("ssh2.sftp://$sftp".$file, "r");
$out = array();
//read the file
while (($fields = fgetcsv($handle, 0, ";")) !== FALSE) {
$out[]=$fields;
}
Файл на самом деле CSV-файл. С помощью fgetcsv я читаю файл строка за строкой.
Но даже если в моем файле, скажем, 50 строк после примерно 20 строк, fgetcsv завершится неудачно, и мой окончательный массив out будет неполным.
Файл фактически локальный на моей машине: если открыть через ssh, будут прочитаны только первые 20 строк, если они открываются нормально с прямым путем к файловой системе:
fopen("localpath", "r");
Цикл while читает все 50 строк.
Есть ли ограничение в байтах при чтении из ssh-соединения? Можно ли изменить это ограничение с помощью параметра конфигурации php.ini?