Когда я пытаюсь загрузить файл с php и curl, возникает ошибка «не удалось создать данные formpost». Я знаю, что ошибка возникает, если неверный путь к файлу
test.php ... $postcontent['files'] = '@test.jpg'; ...
test.php и test.jpg в той же папке. Но если я изменю путь к физическому пути, код будет хорошо работать
test.php ... $postcontent['files'] = '@F:\xampp\htdocs\upload\test.jpg'; ...
Старайтесь всегда использовать абсолютный путь, как вы делали в своем втором примере, который работает.
Конечно, вы не хотите жестко программировать этот физический путь, поэтому вы захотите использовать либо:
dirname(__FILE__)
чтобы получить путь к каталогу, содержащему файл, в котором это записано __DIR__
который дает точно такой же путь. Итак, в вашем случае вы, вероятно, будете использовать что-то вроде:
$postcontent['files'] = '@' . __DIR__ . '/test.jpg';
Или, с PHP <5.3:
$postcontent['files'] = '@' . dirname(__FILE__) . '/test.jpg';