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?