Ошибка скручивания при загрузке файла «не удалось создать данные форматирования»

Когда я пытаюсь загрузить файл с 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__) чтобы получить путь к каталогу, содержащему файл, в котором это записано
  • Или, с PHP> = 5.3: __DIR__ который дает точно такой же путь.

Итак, в вашем случае вы, вероятно, будете использовать что-то вроде:

 $postcontent['files'] = '@' . __DIR__ . '/test.jpg'; 

Или, с PHP <5.3:

 $postcontent['files'] = '@' . dirname(__FILE__) . '/test.jpg';