user3801590
user3801590

Reputation: 53

Uplaod Zip file with ftp connection using php

I am trying to uplaod a zip file using php in ftp connection. only the zip is uploading but there is no folders or file in the zip folder.

Here is the code which i m trying:

$host = 'Your Ftp host';
$usr = 'Your Ftp User Name';
$pwd = 'Your Ftp password';

// file to move:
$local_file = 'C:\wamp\www\demo.zip';
$ftp_path = '/demo.zip';

// connect to FTP server (port 21)
$conn_id = ftp_connect($host, 21) or die ("Cannot connect to host");

// send access parameters
 ftp_login($conn_id, $usr, $pwd) or die("Cannot login");

// turn on passive mode transfers (some servers need this)
ftp_pasv ($conn_id, true);

// perform file upload
$upload = ftp_put($conn_id,$ftp_path,$local_file, FTP_ASCII);

 // check upload status:
 print (!$upload) ? 'Cannot upload' : 'Upload complete';
 print "\n";

   /*
    ** Chmod the file (just as example)
   */

   // If you are using PHP4 then you need to use this code:
   // (because the "ftp_chmod" command is just available in PHP5+)
   if (!function_exists('ftp_chmod')) {
    function ftp_chmod($ftp_stream, $mode, $filename){
        return ftp_site($ftp_stream, sprintf('CHMOD %o %s', $mode, $filename));
      }
  }

  // try to chmod the new file to 666 (writeable)
  if (ftp_chmod($conn_id, 0644, $ftp_path) !== false) {
 print $ftp_path . " chmoded successfully to 644\n";
 } else {
    print "could not chmod $file\n";
  }

 // close the FTP stream
 ftp_close($conn_id);

Please provide me a solution, m trying to do this from past 3 days..

Upvotes: 1

Views: 2343

Answers (1)

Evan
Evan

Reputation: 582

If the file appears on the server but the size/content of the file is not correct, it may be a problem with your transfer mode (FTP_ASCII or FTP_BINARY).

Try replacing your put line with:

// perform file upload
$upload = ftp_put($conn_id,$ftp_path,$local_file, FTP_BINARY);

Upvotes: 1

Related Questions