2014-06-13 2 views
0

Facebook에 사진을 업로드하려고하는데 일부 스폰서 게시물에서 사용할 수 있습니다.사진 업로드 - multipart/form-data

사진이 컴퓨터에 저장되어 있으므로 먼저 Facebook에 업로드해야합니다. 나는 multipart/form-data를 사용하여 그것들을 업로드 할 필요가 있다고 읽었지만 그것과 관련있는 것은 아무것도 모른다. 이 multipart/form-data를 만들면 양식을 만들고 상호 작용할 필요가 없습니다 (업로드 버튼을 클릭하고 그림을 선택하여 제출).

자동으로 수행하는 방법이 있습니까? 제출 버튼을 클릭하지 않고도이 multipart/form-data를 만들어서 PHP 내에서 어떻게 사용할 수 있습니까? 그 결과를 얻고 그것을 사용하여 내 게시물을 만들고 한 번에 두 개 이상의 사진을 업로드하십시오.

답변

0

<? 
$filename='image.png'; 
$link='http://domain.com/somepage'; 
$post=array('file'=>'@'.$filename); 
$ch=curl_init(); 
curl_setopt($ch,CURLOPT_URL,$link); 
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0); 
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0); 
curl_setopt($ch,CURLOPT_HTTPHEADER,array(
"User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17", 
"Accept-Language: ru-RU,ru;q=0.9,en;q=0.8", 
"Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1")); 
curl_setopt($ch,CURLOPT_POST,1); 
curl_setopt($ch,CURLOPT_POSTFIELDS,$post); 
$pagetext=curl_exec($ch); 
curl_close($ch); 
?> 

image.png 이미지의 예를 들어 이름, 루트 디렉토리에 그 장소입니다보십시오.

이 스크립트는 파일 image.pnghttp://domain.com/somepagePOST 요청으로 보냅니다.

다른 POST 변수는 $post 어레이에 추가 될 수 있습니다. @이 파일을 보내야합니다.

+0

감사합니다. 나는 이것을 시도 할 것입니다. 내 미안하지만,이 스크립트는 multipart/form-data를 사용하고 있습니까? 이 형식의 업로드를 사용하여 페이스 북에서 내 컴퓨터의 사진을 사용해야합니다. – user3697768

+0

$ post가 배열이기 때문에'multipart/form-data' 헤더가'curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ post);에 의해 자동으로 추가됩니다. . 자세한 내용은 http://php.net/manual/en/function.curl-setopt.php를 참조하십시오. – CnapoB