multipart/form-data image upload

Do you guys knows skyrock dot com? or any of those networks… im trying to upload a photo with curl to put like a service in my website…
Anyway this is what i tried so far:

[code]<?
//-- REQUEST FUNC
function MakeRequest($url= NULL, $reffer = NULL, $POSTFIELDS = NULL) {
$url = $url;
$reffer = $reffer;
$cookie_file_path = ‘cookie’;
$header_array[0] = “User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-AR; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11”;
$header_array[1] = “Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,;q=0.5";
$header_array[2] = “Accept-Language: es-ar,es;q=0.8,en-us;q=0.5,en;q=0.3”;
$header_array[3] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,
;q=0.7”;
$header_array[4] = “Accept-Encoding: gzip, deflate”;
$ch = curl_init();
curl_setopt($ch, CURLOPT_REFERER, $reffer);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header_array);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$POSTFIELDS);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_ENCODING,“gzip, deflate”);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,7);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch,CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}

//-- LOGIN FUNC
function Login($user,$pass)
{
$url = ‘http://www.skyrock.com/m/account/login.php’;
$reffer = ‘http://www.skyrock.com/m/account/login.php’;

	$POSTFIELDS = 'need_login_form_login='.$user.
		      '&need_login_form_password='.$pass;
	$request = MakeRequest($url, $reffer, $POSTFIELDS);
	if(stristr($request, "Log out")) {
		$loggedin = '1';
	} else {
		$loggedin = '0';
	}
	return $loggedin;
}

//-- UPLOAD FUNC
function Photo($postdata){

$url = 'http://www.skyrock.com/profil/admin/photos.php';
$reffer = 'http://www.skyrock.com/profil/admin/photos.php';

//-- POSTFIELDS
$contentfile = join("", file(‘1.jpg’));

/*$postdata = '-----------------------------310841564872176
Content-Disposition: form-data; name=“photo”; filename=“1.jpg”
Content-Type: image/jpeg

‘.$contentfile.’
-----------------------------310841564872176
Content-Disposition: form-data; name=“legend”

-----------------------------310841752016616
Content-Disposition: form-data; name=“avatar”

1
-----------------------------310841564872176–
';*/
//-- POSTFIELDS

$photo = MakeRequest($url,$reffer,$postdata);
return $photo;
}

//-- LOGIN
$user = ‘123456a4fsd’;
$pass = ‘*****’;
$login = Login($user,$pass);
if($login == 1){

//-- POSTFIELDS ARRAY	
$file = '1.jpg';
$postdata[photo][name] = @$file;
$postdata[photo][type] = 'image/jpeg';
$postdata[photo][tmp_name] = 'php3F.tmp';
$postdata[photo][size] = '11202';
$postdata[photo][error] = '0';
$postdata[legend] = 'me';
$postdata[avatar] = '1';

//-- UPLOAD PIC
echo $photo = Photo($postdata);
} else {
echo ‘Can’t login’;
exit;
}
?>[/code]

Im don’t really know how to handle multipart forms, this is my first try and i’m getting just the page as result, without any error or success msg, and nothing is being uploaded.
Does anyone knows how can i get this image upload working?
if someone want to test, in the function i put my login info, plz don’t be funny and change the pass, i’m using it for testing.
Thnkx in advance.

MOD EDIT: Changed the password to asterisks

First of all, don’t provide passwords. You don’t trust anyone on the internet, not even us. We might not use it maliciously, but anyone else viewing these forums anonymously might.

As for your problem, use debugging, as per the link in my signature. Also, check out this page, and learn from the example given there.

thnkx i will check the link, and regarding the pass hehe i know ppl is stupid, anyway the acc is just for testing i can create another one :P
thnkx again

Sponsor our Newsletter | Privacy Policy | Terms of Service