Matt,
    I tried changing my script to generate a gif, and my issues with
twitter dissapeared, but my image was no longer rendering properly so
I switched the output back to png and added the mimetype to the image
data, but now I'm not getting any response.

        foreach($_POST as $key => $var){
                $POST[$key] = htmlspecialchars($var,ENT_QUOTES);
        }

        if($POST['twittername'] != '' && $POST['twitterpass'] != ''){

                $url = 'http://twitter.com/users/show/' . urlencode($POST
['twittername']) . '.xml';
                $curl = curl_init($url);

        curl_setopt($curl, CURLOPT_VERBOSE, 1);
        curl_setopt($curl, CURLOPT_NOBODY, 0);
        curl_setopt($curl, CURLOPT_HEADER, 0);
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION,1);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $response = curl_exec($curl);
        curl_close($curl);

                $user = new SimpleXMLElement($response);
                $image_array = explode('.',$user->profile_image_url);

                $filename = $POST['twittername'] . '-' . time() . '.png';
                $badge = imagecreatefrompng($POST['badge']);
                switch($image_array[(sizeof($image_array) - 1)]){
                        case 'jpg':
                                $avatar = 
imagecreatefromjpeg($user->profile_image_url);
                                break;
                        case 'png':
                                $avatar = 
imagecreatefrompng($user->profile_image_url);
                                break;
                        case 'gif':
                                $avatar = 
imagecreatefromgif($user->profile_image_url);
                                break;
                        default:
                                $avatar = 
imagecreatefrompng($user->profile_image_url);
                                break;
                }

                imagealphablending($badge,1);
                imagealphablending($avatar,1);
                imagecopy($avatar,$badge,0,0,0,0,48,48);
                imagepng($avatar,$filename);

                //*
                $url = 'http://twitter.com/account/update_profile_image.xml';

                $curl = curl_init();
                curl_setopt($curl, CURLOPT_URL, "$url");
                curl_setopt($curl, CURLOPT_POST, 1);
                curl_setopt($curl, CURLOPT_HTTPHEADER, array('Expect:'));
                curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 4);
                curl_setopt($curl, CURLOPT_POSTFIELDS,array('image' => "@
$filename;type=image/png"));
                curl_setopt($curl, CURLOPT_USERPWD, $POST['twittername'] . ':' .
$POST['twitterpass']);
                $response = curl_exec($curl);
                $info = curl_getinfo($curl);
                curl_close($curl);

                imagedestroy($badge);
                imagedestroy($avatar);
                unlink($filename);
                // */




On Jan 19, 12:18 pm, Matt Sanford <[email protected]> wrote:
> Hi Kevin,
>
>      I find that error message misleading. If the image could not be  
> processed for any reason the error says "possibly too big". That's  
> normally the case with user uploads but it seems like from the API  
> it's more often something else. Looking back through the Google Group  
> it seems like GIF is predominantly the issue. If you create a similar  
> 1x1 PNG does it do the same thing? We support GIF and it should work,  
> but knowing what works and what doesn't will help narrow it down.
>
> Thanks;
>    — Matt Sanford / @mzsanford
>
> On Jan 19, 2009, at 10:01 AM, DeBetta wrote:
>
>
>
> > I just tested the update_profile_image API call and sent a 190K image
> > without issue.
>
> > What kind of image are you trying to post? Do you have sample code you
> > can share?
>
> > --Peter
>
> > On Jan 19, 11:16 am, Kevin Thompson <[email protected]> wrote:
> >> I'm attempting to write a simple script to update the user's profile
> >> image, but I am getting a response that the image is possible too big
> >> each time. The file that I'm attempting to set as the user avatar is
> >> no larger than 5k, and it fails.
>
> >> I created a 1px by 1px white gif which weighed in at about 43 bytes
> >> and it worked.
>
> >> My suspicion is that for some reason the API is not correctly
> >> calculating the file size of the image data, or it's checking for a
> >> much smaller value than 700k.
>
>

Reply via email to