Following on from this question I am using the code provided in one of the answers.
Here is the code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
$server_url = "http://www.nfl.com/liveupdate/scorestrip/ss.json";
$options = array
(
CURLOPT_HEADER => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_TIMEOUT => 60,
CURLOPT_CONNECTTIMEOUT => 0,
CURLOPT_HTTPGET => 1
);
$service = $_GET["service"];
$request_headers = Array();
foreach($_SERVER as $i=>$val) {
if (strpos($i, 'HTTP_') === 0) {
$name = str_replace(array('HTTP_', '_'), array('', '-'), $i);
if ($name != 'HOST')
{
$request_headers[] = "{$name}: {$val}";
}
}
}
$options[CURLOPT_HTTPHEADER] = $request_headers;
switch (strtolower($_SERVER["REQUEST_METHOD"]))
{
case "post":
$options[CURLOPT_POST] = true;
$url = "{$server_url}/services/".$service;
$options[CURLOPT_POSTFIELDS] = file_get_contents("php://input");
break;
case "get":
unset($_GET["service"]);
$querystring = "";
$first = true;
foreach ($_GET as $key => $val)
{
if (!$first) $querystring .= "&";
$querystring .= $key."=".$val;
$first = false;
}
$url = "{$server_url}/services/".$service."?".$querystring;
break;
default:
throw new Exception("Unsupported request method.");
break;
}
$options[CURLOPT_URL] = $url;
$curl_handle = curl_init();
curl_setopt_array($curl_handle,$options);
$server_output = curl_exec($curl_handle);
curl_close($curl_handle);
$response = explode("\r\n\r\n",$server_output);
$headers = explode("\r\n",$response[0]);
foreach ($headers as $header)
{
if ( !preg_match(';^transfer-encoding:;ui', Trim($header)) )
{
header($header);
}
}
echo $response[1];
?>
</body>
</html>
Unfortunately I get the following errors, why is this?:
Warning: Cannot modify header information – headers already sent by
(output started at
C:\inetpub\vhosts\allencoded.com\httpdocs\test.php:12) in
C:\inetpub\vhosts\allencoded.com\httpdocs\test.php on line 88 Warning:
Cannot modify header information – headers already sent by (output
started at C:\inetpub\vhosts\allencoded.com\httpdocs\test.php:12) in
C:\inetpub\vhosts\allencoded.com\httpdocs\test.php on line 88 Warning:
Cannot modify header information – headers already sent by (output
started at C:\inetpub\vhosts\allencoded.com\httpdocs\test.php:12) in
C:\inetpub\vhosts\allencoded.com\httpdocs\test.php on line 88 Warning:
Cannot modify header information – headers already sent by (output
started at C:\inetpub\vhosts\allencoded.com\httpdocs\test.php:12) in
C:\inetpub\vhosts\allencoded.com\httpdocs\test.php on line 88 Warning:
Cannot modify header information – headers already sent by (output
started at C:\inetpub\vhosts\allencoded.com\httpdocs\test.php:12) in
C:\inetpub\vhosts\allencoded.com\httpdocs\test.php on line 88 Warning:
Cannot modify header information – headers already sent by (output
started at C:\inetpub\vhosts\allencoded.com\httpdocs\test.php:12) in
C:\inetpub\vhosts\allencoded.com\httpdocs\test.php on line 88 Warning:
Cannot modify header information – headers already sent by (output
started at C:\inetpub\vhosts\allencoded.com\httpdocs\test.php:12) in
C:\inetpub\vhosts\allencoded.com\httpdocs\test.php on line 88 Warning:
Cannot modify header information – headers already sent by (output
started at C:\inetpub\vhosts\allencoded.com\httpdocs\test.php:12) in
C:\inetpub\vhosts\allencoded.com\httpdocs\test.php on line 88 Warning:
Cannot modify header information – headers already sent by (output
started at C:\inetpub\vhosts\allencoded.com\httpdocs\test.php:12) in
C:\inetpub\vhosts\allencoded.com\httpdocs\test.php on line 88 HTTP/1.1
404 Not Found Server: Apache Content-Type: text/html;
charset=iso-8859-1 Content-Encoding: gzip Content-Length: 224
Cache-Control: max-age=7146 Expires: Sat, 13 Aug 2011 22:12:11 GMT
Date: Sat, 13 Aug 2011 20:13:05 GMT Connection: keep-alive Vary:
Accept-Encoding X-Akamai-Edgescape: country_code=US
You cannot echo anything out before calling
headerso in your case its all of the stuff before your opening php tags.Your best bet would be to do all of your php before your opening
htmltag