小弟正做一项目,需用php将图片从远程下载后,再通过ftp上传到另一服务器,下载至硬盘,这个偶常做,用ftp上传本地文件,这个也会,可不经过本地硬盘,直接传递,怎么做啊,哪位大侠帮下吧

解决方案 »

  1.   

    file_put_contents('ftp://用户名:口令@ftp主机/文件名', file_get_contents('http://远程主机/文件名'));
      

  2.   

    已有了与ftp服务器连接上的$ftp_stream,如果利用file_put_contents('ftp://用户名:口令@ftp主机/文件名', file_get_contents('http://远程主机/文件名')),那我还需再与ftp服务器再连接一次,势必造成资源的浪费。
    我想:能否像ftp_put($ftp_stream,$remote_file, $local_file)一样利用已有的$ftp_stream,实现file_put_contents()的直接将内容写入文件的功能呢?
    也就是说,有没有类似于ftp_put($ftp_stream,$remote_file, $string)的函数呢?
      

  3.   

    我想你的脑子是进水了ftp 扩展提供有 ftp_fput 函数,为什么不用呢?$fp = fopen('http://远程主机/文件名', 'rb');
    ftp_fput($ftp_stream, $remote_file, $fp);