如何使用PHP在FTP周围复制文件

时间:2011-01-31 16:24:32

标签: php ftp

我想使用php ftp函数将文件从一个文件夹复制到另一个文件夹。

例如

复制此文件: httpdocs / user_images / Services / File 1.jpg

收件人: httpdocs / user_images / folder11

我试过使用ftp_fput,但我没有运气。

5 个答案:

答案 0 :(得分:9)

也许一个鲜为人知的事实:PHP中的copy()函数可以用来将文件复制到FTP服务器,尽管没有使用特定于ftp的函数那么多的控制。

换句话说,这可以完成这项工作:

if(copy('local/file.img', 'ftp://user:password@ftp.example.com/remote/dir/file.img')) {
  echo "It worked!!!";
}

http://php.net/manual/en/function.copy.php

答案 1 :(得分:7)

来自PHP.netftp_put上的手册页:

<?php 
// bool ftp_copy  ( resource $ftp_stream  , string $initialpath, string $newpath, string $imagename ) 
function ftp_copy($conn_distant , $pathftp , $pathftpimg ,$img){ 
        // on recupere l'image puis on la repose dans le nouveau folder 
        if(ftp_get($conn_distant, TEMPFOLDER.$img, $pathftp.'/'.$img ,FTP_BINARY)){ 
                if(ftp_put($conn_distant, $pathftpimg.'/'.$img ,TEMPFOLDER.$img , FTP_BINARY)){ 
                        unlink(TEMPFOLDER.$img) ;                                              
                } else{                                
                        return false; 
                } 

        }else{ 
                return false ; 
        } 
        return true ; 
} 
?>

答案 2 :(得分:1)

除非您实际在服务器之间或PHP无法访问的地方移动文件,否则请使用copy()(php)

<?
copy('httpdocs/user_images/Services/File 1.jpg', 'httpdocs/user_images/folder11/File 1.jpg');
?>

答案 3 :(得分:1)

答案 4 :(得分:1)

复制功能无效。您需要使用ftp_get()和ftp_put()函数才能完成此任务