Twitter API -> aktualizacja profilu bg za pomocą php

Do tej pory próbowałem zaktualizować obraz twitterowy profil bg na twitter api z php ... i bez powodzenia

Wiele przykładów w sieci, w tym ten:
Aktualizacja tła Twittera za pomocą interfejsu API
i ten
Przesyłanie tła na Twitterze za pomocą API i danych wieloformatowych
nie działają w ogóle, większość ppl wyrzuca odpowiedzi bez testowania kodu.

Odkryłem, że bezpośrednio przesyłam obraz do formularza html twitter.com thr, to zadziała:

<form action="http://twitter.com/account/update_profile_background_image.xml" enctype="multipart/form-data" method="post">
    File: <input type="file" name="image" /><br/>
    <input type="submit" value="upload bg">
</form>

(chociaż przeglądarka wyświetli monit o nazwę użytkownika i hasło do konta Twitter)

Jeśli jednak chcę przejść ten sam proces z php, to się nie powiedzie

<?php
if( isset($_POST["submit"]) ) {

    $target_path = "";
    $target_path = $target_path . basename( $_FILES['myfile']['name']); 

    if(move_uploaded_file($_FILES['myfile']['tmp_name'], $target_path)) {
        // "The file ".  basename( $_FILES['myfile']['name']). " has been uploaded<br/>";
    } else{
        // "There was an error uploading the file, please try again!<br/>";
    }

    $ch = curl_init('http://twitter.com/account/update_profile_background_image.xml');
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
    curl_setopt($ch, CURLOPT_USERPWD, $_POST['name'] . ':' . $_POST['pass']);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
    curl_setopt($ch, CURLOPT_TIMEOUT, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, array('image' => base64_encode(file_get_contents($target_path))));

    $rsp = curl_exec($ch);
    echo "<pre>" . str_replace("<", "&lt;", $rsp) . "</pre>";

}
?>
<form enctype="multipart/form-data" method="post">
<input type="hidden" name="submit" value="1"/>
name:<input type="text" name="name" value=""/><br/>
pass:<input type="password" name="pass" value=""/><br/>
File: <input type="file" name="myfile" /><br/>
<input type="submit" value="upload bg">
</form>

Dziwną rzeczą tego kodu jest to, że ... pomyślnie zwraca twitter XML,BEZ zaktualizowanie obrazu tła profilu. Tak więc w końcu nadal się nie udaje.

Wielkie dzięki za przeczytanie tego. Będzie wspaniale, jeśli możesz pomóc. Uprzejmie przetestuj swój kod przed wyrzuceniem odpowiedzi, wiele podziękowań.

questionAnswers(4)

yourAnswerToTheQuestion