cUrl | [function.unserialize]: Error at offset

Živjo, imam problem.

S cUrlom mi ni uspelo postat array-a na nek url. (vsebina postanega arraya vedno postane (string)Array, ne pa Array(0=>'dasd',..).

curl_setopt ($ch, CURLOPT_POSTFIELDS, $vars);

zato sem array serializiral in ga postal kot string

curl_setopt ($ch, CURLOPT_POSTFIELDS, serialize($vars));

ko hočem unserializirat pa ne gre.....
Notice: unserialize() [function.unserialize]: Error at offset 139 of 448 bytes in /var/www

problem dela

$vars[2] = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">...... template do konca</html>';

Če pa poskusim tako:

$vars[2] = base64_encode($vars[2])

potem ga pa lepo odserializira, samo je pa pokvarjen po base64_decodu...
primer:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"�BBO[�X

help plz

2 odgovora

curlsetopt ($ch, CURLOPTPOSTFIELDS, serialize($vars));

recimo tole posta kot kaj tvoje podatke ? A nebi moralo biti

curlsetopt ($ch, CURLOPTPOSTFIELDS, 'postvar1='.serialize($vars));

pa imaš zadevo potem v $_POST['postvar1']

ja maš prav... narobe sem napisal....
tako mam kot si ti napisal.
V mojem primeru je $vars nek kar precej velik array. Kot sem že napisal, unserialize ne gre čez $vars2.

problem nastane potem, ko to zadevo odserializiram....
Notice: unserialize() [function.unserialize]: Error at offset 139 of 448 bytes in /var/www

krivec za to je preverjeno $vars[2]

Ubistvu sem problem že rešil na drugačen način. Vseeno me pa zanima zakaj tole ne 'gre' čez.