如何将上传的文件移动到Php中的另一台主机上

时间:2013-06-06 04:07:05

标签: apache image-processing phpmyadmin ftp image-uploading

任何人都可以帮我实现如何将上传的文件从一台服务器移动到另一台服务器

我不是在谈论move_uploaded_file()函数。

例如,

  

如果图像是从http://example.com

上传的      

如何将其移至http://image.example.com

有可能吗?不是通过发送另一个帖子或提出请求?

1 个答案:

答案 0 :(得分:2)

获取已上传的文件,将其移至临时位置,然后将其推送到您喜欢的任何FTP-Acount。

$tempName = tempnam(sys_get_temp_dir(), 'upload');
move_uploaded_file($_FILES["file"]["tmpname"], $tempName);

$handle = fopen("ftp://user:password@example.com/somefile.txt", "w");
fwrite($handle, file_get_contents($uploadedFile));
fclose($handle);
unlink($tempName);

实际上你甚至不需要move_uploaded_file的部分。获取上传的文件并将其内容写入使用fopen打开的文件是完全足够的。有关使用fopen打开网址的更多信息,请查看php-documentation。有关上传文件的详细信息,请查看File-Upload-Section

PHP-Manual

[编辑] 在代码示例

中添加了file_get_contents

[编辑] 缩短示例

$handle = fopen("ftp://user:password@example.com/somefile.txt", "w");
fwrite($handle, file_get_contents($_FILES["file"]["tmpname"]);
fclose($handle);
// As the uploaded file has not been moved from the temporary folder 
// it will be deleted from the server the moment the script is finished.
// So no cleaning up is required here.