Just so everyone knows, it was something to do with the headers. Here's the code that ended up solving the issue for me. ``` $ch = curl_init(); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_MAXREDIRS, 10 ); curl_setopt($ch, CURLOPT_URL, $json_url); curl_setopt($ch, CURLOPT_USERPWD, $username.":".$password); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/binary')); curl_setopt($ch, CURLOPT_POST, true); $file = fopen($fLocation, 'r'); $size = filesize($fLocation); $fildata = fread($file,$size); curl_setopt($ch, CURLOPT_POSTFIELDS, $fildata); curl_setopt($ch, CURLOPT_INFILE, $file); curl_setopt($ch, CURLOPT_INFILESIZE, $size); curl_setopt($ch, CURLOPT_USERAGENT, "MozillaXYZ/1.0"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_VERBOSE, true); $result = curl_exec($ch); ```

Context: Stack Overflow question (score 3, has accepted answer): When uploading a file using cURL, I'm finding the file on the remote side is getting modified and header information gets dumped into the file. I suspect this is something in my header info, but I'm lost beyond that. I'm trying nearly anything. Here's the code I'm using. ``` $fLocation = realpath('file.csv'); $finfo = finfo_open(FILEINFO_MIME_TYPE); $fType = finfo_file($finfo, $fLocation); finfo_close($finfo); $cFile = curl_file_create($fLocation); $post = array('file'=&gt; $cFile); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_USERPWD, $username.":".$password); curl_setopt($ch, CURLOPT_HTTPHEADER, "Con