Web lists-archives.com

[PHP] why can't upload file into ftp target directory with curl?




code1:

    <?php
        set_time_limit(0);
        $host = 'xxxx';
        $usr = 'yyyy';
        $pwd = 'zzzz';
        $src = 'd:/upload.sql';
        $ftp_path = '/public_html/';
        $des = 'upload_ftp_put.sql';
        $conn_id = ftp_connect($host, 21) or die ("Cannot connect to host");
        ftp_login($conn_id, $usr, $pwd) or die("Cannot login");
        $upload = ftp_put($conn_id, $ftp_path.$des, $src, FTP_ASCII); 
        print($upload);
    ?>

The file `d:/upload.sql` in my local pc can be uploaded into  `my_ftp_ip/public_html/upload_ftp_put.sql` with code1.    
Now i rewite it with curl into code2.

code2:

    <?php
      set_time_limit(0);
      $ch = curl_init();
      $host = 'xxxx';
      $usr = 'yyyy';
      $pwd = 'zzzz';
      $src = 'd:/upload.sql';
      $ftp_path = '/public_html';
      $dest = 'upload_curl.sql';
      $fp = fopen($src, 'r');
      curl_setopt($ch, CURLOPT_URL, 'ftp://user:pwd@host/'.$ftp_path .'/'. $dest);
      curl_setopt($ch, CURLOPT_UPLOAD, 1);
      curl_setopt($ch, CURLOPT_INFILE, $fp);
      curl_setopt($ch, CURLOPT_INFILESIZE, filesize($src));
      curl_exec ($ch);
      $error_no = curl_errno($ch);
      print($error_no);
      curl_close ($ch);
    ?>

The erroor info output is 6 .Why can't upload my local file into the ftp with curl?How to fix it?