所以我在网站上使用CodeIgniter PHP Framework。我们有一些服务器,一个live,一个dev和一个文件服务器。我们已经成功地将文件上传到我们的开发服务器,然后将它们安全地复制到我们的文件服务器进行存储。我们现在的问题是从文件服务器读取/显示我们的开发网站上的图像。我们的文件服务器使用sftp来保证安全。我们一直在研究从文件服务器传回图像对象的不同方法,但实际上并不是实际文件。有关如何做到这一点的任何建议?感谢。
CodeIgniter PHP框架 Linux服务器 文件服务器上的SFTP
...谢谢
答案 0 :(得分:0)
好吧,我没有用sftp这么多,但我会尽量给你一些步骤。
您需要安装一些apache / php模块,例如ssh2,并使用extension=php_ssh2.dll
启用它。
您可以创建自己的sftp库,如下所示:
类Sftp {
protected $connection;
public function __construct($params)
{
}
public function connect()
{
$server = "you-server.com";
$port = "1234";
$username = "admin";
$password = "blabla";
//connect
$ssh2 = ssh2_connect($server, $port);
if(ssh2_auth_password($ssh2, $username, $password))
{
//sftp session
$this->connection = ssh2_sftp($resConnection);
}
else
{
echo "Unable to connect to server";
}
}
public function download($image_name)
{
$image = fopen("ssh2.sftp://{$this->connection}/path/to/{$image_name}", 'r');
fclose($image);
}
}
然后尝试使用它:
$这 - > sftp->连接();
$ image = $ this-> sftp-> download('image-name');
答案 1 :(得分:0)
我在Github上找到了这个Codeigniter库。我还没有使用它,但似乎你需要做几个步骤才能使用Codeigniter加载库。否则这看起来很有希望