【发布时间】:2022-01-04 22:08:08
【问题描述】:
我正在使用下面的代码通过 curl sftp 从文件夹中获取所有文件。
$ch = curl_init('sftp://' . $sftpServer . ':' . $sftpPort . $sftpRemoteDir . '/');
curl_setopt($ch, CURLOPT_USERPWD, '*******:*******');
curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_SFTP);
curl_setopt($ch, CURLOPT_DIRLISTONLY, '1L');
$response = curl_exec($ch);
我尝试过explode() 和preg_match(),但由于某种原因我无法解析结果列表:
641265471.txt_20220103_220501
641269117.txt_20220103_230501
..
我如何才能将上面的数据实际解析为作为数组项的每一行?
【问题讨论】:
-
$array = explode("\n", $response)工作吗? -
很遗憾没有
-
preg_split('~\R~', $response)也许? -
好像 curl_exec($ch);会自动回显结果并且 "$response" is = 1
-
@ClintC。哦,对了,忘记了基础知识!很高兴知道它对 HTTP 和 SFTP 的工作方式相同。