如何以@开头的POST文本以及用PHP cURL上传文件


How can I POST text starting with @ as well as upload file with PHP cURL?

我正在使用PHP和cURL向Twitter API进行POST。很多时候,我会在帖子中包含图像数据,推特的文本以"@"开头,以提及某人。

示例代码:

curl_setopt($ch, CURLOPT_POSTFIELDS, array(
    'status'  => '@sampletwitter check out this image',
    'media[]' => '@/tmp/file.jpg'
));

问题是,它似乎试图在"status"字段和"media[]"字段中上载文件。

我需要将其作为数组传递,因为我正试图为其中的一部分进行文件上载。如何从"status"字段中抑制进行上载的尝试?

简单地说,对状态字段进行urlencode。

urlencode('@'); // %40