Mam link do pliku jpg http://www.istockphoto.com/design_spotligh...=3&id=21406
ale jak go zapisuje w PHP funkcją:
<?php function file_post_contents($url,$headers=false) { if ($url['scheme'] == 'http') { $url['port']=80; } elseif ($url['scheme'] == 'https') { $url['port']=443; } } $url['protocol']=$url['scheme'].://'; $eol="r\n"; $headers = "POST ".$url['protocol'].$url['host'].$url['path']." HTTP/1.0".$eol. "Hos: ".$url['host'].$eol. "Referer: ".$url['protocol'].$url['host'].$url['path'].$eol. "Content-Typ: application/x-www-form-urlencoded".$eol. $eol.$url['query']; if($fp) { $result = ''; if (!$headers) { //removes headers $pattern="/^.*r\nr\n/s"; } return $result; } } $tresc=file_post_contents('htt://www.istockphoto.com/design_spotlight_fileview.php?size=3&id=21406'); ?>
to na początku pliku jpg dodane jest 16 dodatkowych 16 linii, które to uniemożliwiają poprawne otwarcie .jpg:
HTTP/1.0 200 OK Server: Apache/1.3.37 (Unix) X-Powered-By: PHP/4.4.9 P3P: CP="OTI DSP COR ADM DEV PSA PSD IVDi OUR PUBi IND PRE" Pragma: no-cache Content-Disposition: inline; filename=file.jpg Content-Type: image/jpeg Cache-Control: private, max-age=0 Expires: Thu, 25 Sep 2008 15:01:55 GMT Date: Thu, 25 Sep 2008 15:01:55 GMT Connection: close Set-Cookie: sessionID=01657054109277884035342186668268; path=/; domain=.istockphoto.com Set-Cookie: sessionID=01657054109277884035342186668268; expires=Fri, 26 Sep 2008 15:01:53 GMT; path=/; domain=.istockphoto.com Expires: Thu, 19 Nov 1981 08:52:00 GMT Expires: Thu, 19 Nov 1981 08:52:00 GMT
Co zrobić aby nie było tych linii? Lub jak inaczej (prościej) zapisać na lokalnym serwerze plik .jpg ze zdalnego serwera?