PHP, cURL, and POST

While working on a script today that had been working, I couldn't for the life of me figure out why it was failing. It uses the PHP curl\_* functions to make various requests and processes the results. Turns out when you send a POST body with the CURLOPT\_POSTFIELDS and a value field begins with an at symbol(@), you have to escape it (\@). The reason is the at symbol is used by curl to denote a file upload path ("@/path/to/upload.file"). So escape the at symbol and you should be back to good with the curling.