使用PHP Codeigniter将SFTP上传文件到远程服务器时遇到问题。 当我上传多个文件时。所以这是我的代码:
for($row = 0; $row < $total; $row++)
{
$origin = $directory.$file[$row];
$destination = $des.$file[$row];
$send= $this->upload($config,$origin,$destination);
$filename = $file[$row];
print_r($filename."\n");
} $this->sftp->close();
因此,如果我要上传1000个文件,并且从1到50成功上传。但是当文件51无法上传并收到错误消息
ftp无法上传
什么原因可以显示上面的错误,如何创建重新连接句柄并重新上传下一个文件。所以这个功能:
public function upload($config,$origin,$destination)
{
$connect = $this->sftp->connect($config);
$upload = $this->sftp->upload($origin, $destination, 'ascii', '0775');
//create handling upload
return $upload;
}
和从库sftp上传示例函数:
$file_to_send = @file_get_contents($locpath);
$sftp = intVal($this->sftp);
$stream = fopen("ssh2.sftp://{$sftp}{$rempath}", 'w');
if (@fwrite($stream, $file_to_send) === FALSE)
{
if ($this->debug == TRUE)
{
$this->_error('ftp_unable_to_upload');
}
return FALSE;
}
return TRUE
来自library sftp的源sftp库
因此,当上传get ftp无法上传消息时,如何处理重新连接和重新上传文件。谢谢
答案 0 :(得分:0)
如果在localhost上工作,则必须增加页面加载时间。 一旦托管,则无需增加加载时间。