2013-12-15 3 views
0

file_get_contents 부분을 사용하는 대신 Base64 인코딩 문자열로 PHP/cURL을 통해 이미지를 보내고 싶습니다. 어떻게 그럴 수 있습니까? PHP를 통해 Base64로 인코딩 된 이미지를 보내는 방법은 무엇입니까?

$headers = array("Host" => "http://api.tumblr.com/", "Content-type" => "application/x-www-form-urlencoded", "Expect" => ""); 

$params = array("data" => array(file_get_contents("http://www.example.com/photo/happyholidays.jpg")),"type" => "photo"); 

oauth_gen("POST", "http://api.tumblr.com/v2/blog/$blogname/post", $params, $headers); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_USERAGENT, "TestApp"); 
curl_setopt($ch, CURLOPT_URL, "http://api.tumblr.com/v2/blog/$blogname/post"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Authorization: " . $headers['Authorization'], 
    "Content-type: " . $headers["Content-type"], 
    "Expect: ") 
); 

당신은 이미지의 바이트 데이터를 얻을 수 어쨌든하여 이미지를 읽을 필요

답변

0

주셔서 감사합니다. 그런 다음에 만 바이트 데이터를 base64로 쉽게 변환 할 수 있습니다. 지금까지 내 지식, 당신은 링크 (이미지)에서 직접 바이트를 (HTTP 게시물) 보낼 수 없습니다. 당신이 file_get_contents를 사용하여 이미지를 읽을 수 없다 경우

$params = array("data" => base64_encode(file_get_contents("http://www.example.com/photo/happyholidays.jpg")),"type" => "photo"); 

다음 이미지에 대한 바이트 데이터를 얻을 수 를 사용합니다.

+0

배열이 누락되었습니다. – zeflex

+0

이미지가 하나뿐이기 때문에 아무런 차이가 없습니다. 또한 $ params의 "데이터"가 어떻게 처리되는지는 여기에 모호한 oauth_gen() 함수에 따라 다릅니다! –

관련 문제