Link to home
Start Free TrialLog in
Avatar of lawrence_dev
lawrence_dev

asked on

How do I export php curl results to a csv file

How do I export the results to a csv file?      Script works fine.  If I echo $buffer2; I get 15000+ rows of data like this:  

 "1162","01/26/15","424.67","24.95","449.62","Overnight","Johnny", "Public","TX","513","1Z07109XXXXXXXXXXXX","01/26/15","116200","4820-XXXX-XXXX-XXXX", "11600"


Thanks for your help!

 Please note:  (Website URL is not shown deliberately....  you would not be able to see it anyway without logging in first.)  



$url2 = 'http://www.website.com/b2b/handleinvoicedownload.php';
	
	
	$fields = array(
	 
	    'delim'=>urlencode('csv'),
		'headerRow'=>urlencode('0'),
	    'startDate'=>urlencode('01/01/2015'),
		'endDate'=>urlencode('01/26/2015'),
		'columndata[1]'=>urlencode('orn'),
		'columndata[2]'=>urlencode('ord'),
		'columndata[3]'=>urlencode('sub'),
		'columndata[4]'=>urlencode('shc'),
		'columndata[5]'=>urlencode('tot'),
		'columndata[6]'=>urlencode('svc'),
		'columndata[7]'=>urlencode('svn'),
		'columndata[8]'=>urlencode('svs'),
		'columndata[9]'=>urlencode('pon'),
		'columndata[10]'=>urlencode('trc'),
		'columndata[11]'=>urlencode('shd'),
		'columndata[12]'=>urlencode('inv'),
		'columndata[13]'=>urlencode('td'),
		'columndata[14]'=>urlencode('null'),
		'columndata[15]'=>urlencode('null'),
		'save'=>urlencode('0'),
		'sumbit.x'=>urlencode('38'),
		'sumbit.y'=>urlencode('16')
		
		);
	


	
	//url-ify the data for the POST
	$fields_string = '';
	foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
	rtrim($fields_string,'&');
				
	$ch = curl_init(); // initialize curl handle
	curl_setopt($ch, CURLOPT_HEADER, 0);
	curl_setopt($ch, CURLOPT_VERBOSE, 1);
	curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)");
	curl_setopt($ch, CURLOPT_AUTOREFERER, false);
	curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,7);
	curl_setopt($ch, CURLOPT_REFERER, 'http://www.website.com/b2b/handleinvoicedownload.php');
	curl_setopt($ch, CURLOPT_URL,$url2); // set url to post to
	curl_setopt($ch, CURLOPT_FAILONERROR, 0);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// allow redirects
	
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
	curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
	curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');

	curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
	curl_setopt($ch, CURLOPT_TIMEOUT, 50); // times out after 50s
	curl_setopt($ch,CURLOPT_POST,count($fields));
	curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
	
	
	echo $buffer2 = curl_exec($ch); // run the whole process

	
	if(curl_exec($ch) === false)
	{
	    echo 'Curl error: ' . curl_error($ch);
	    exit;
	}
                    
              

Open in new window

Avatar of Simon
Simon
Flag of United Kingdom of Great Britain and Northern Ireland image

Redirect to a file

echo $buffer2 >anyfilename.csv

Doesn't that do what you need?
Avatar of lawrence_dev
lawrence_dev

ASKER

Thanks for your help but I think I am missing something...

echo $buffer2 >"anyfilename.csv";  does not work

echo $buffer2 >anyfilename.csv;  does not work

How do I export this?
ASKER CERTIFIED SOLUTION
Avatar of Simon
Simon
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SimonAdept & shinuq,
THANK YOU for the simple answer!!  Very EASY to understand!!  

Why do some experts on EE have to make things so unnecessarily complicated with links to PHP.net and overly complicated answers???  SMH!!
Excellent!!