热搜:NVER node 开发 php

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

2024-09-15 21:00:01
将文件从远程下载后不经硬盘保存,直接上传至另一服务器,怎么做啊

小弟正做一项目,需用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);

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