Тут необходимо кодировать передаваемые данные функцией
urlencode()
Поэтому, попробуй заменить строки:

PHP код:
$out .= "Content-Length: " . strlen($data) . "\n\n";
$out .= $data."\n\n";
На следующие:

PHP код:
$out .= "Content-Length: " . strlen( urlencode ( $data) ) . "\n\n";
$out .= urlencode ( $data ) . "\n\n";