简体   繁体   中英

How To Copy Files Around FTP Using PHP

I am tring to copy a file from one folder to another using the php ftp functions.

eg

Copy This File: httpdocs/user_images/Services/File 1.jpg

To: httpdocs/user_images/folder11

i have tried to use ftp_fput but i am not have any luck with it.

Perhaps a little known fact: the copy() function in PHP can be used to copy files to an FTP server, though without as much control as you get by using the ftp-specific functions.

In other words, this can do the job:

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

From the manual page on ftp_put on PHP.net :

<?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 ; 
} 
?>

the Copy Function will not work. You need to use ftp_get () and ftp_put() functions in order to achieve this task

Unless you're actually moving files between servers or to somewhere that PHP doesn't have access, use copy()(php)

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM