欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

将文件从远程下载后不经硬盘保存,直接上传至另一服务器,怎么做啊

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

回复讨论(解决方案)

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

已有了与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)的函数呢?

我想你的脑子是进水了

ftp 扩展提供有 ftp_fput 函数,为什么不用呢?

$fp = fopen('http://远程主机/文件名', 'rb');
ftp_fput($ftp_stream, $remote_file, $fp);

呵呵,写代码写的一点儿也不想动脑子了