2

所以我在一个网站上使用 CodeIgniter PHP 框架。我们有几台服务器,一台实时服务器、一台开发服务器和一台文件服务器。我们已经成功地将文件上传到我们的开发服务器,然后将它们安全地复制到我们的文件服务器进行存储。我们现在的问题是一种从文件服务器读取/显示我们开发网站上的图像的方法。我们的文件服务器使用 sftp 来保证它的安全性。我们一直在寻找不同的方法来从文件服务器传回图像对象,而不是实际的文件。关于如何做到这一点的任何建议?谢谢。

CodeIgniter PHP Framework Linux Servers 文件服务器上的 SFTP

谢谢...

4

2 回答 2

0

好吧,我没有过多地处理 sftp,但至少我会尝试给你一些开始的步骤。

  1. 您需要安装一些 apache/php 模块,如ssh2并使用extension=php_ssh2.dll.

  2. 您可以制作自己的 sftp 库,如下所示:

    类 FTP{

    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);
    }
    
    }
    

然后尝试像这样使用它:
$this->sftp->connect(); $image = $this->sftp->download('image-name');

于 2012-06-28T16:03:42.217 回答
0

我在 Github 上找到了这个 Codeigniter 库。我还没有使用它,但似乎您需要执行几个步骤才能使用 Codeigniter 加载库。否则这看起来很有希望。

https://github.com/ipolar/CodeIgniter-sFTP-Library

于 2012-06-29T13:49:20.303 回答