当我尝试使用php和curl上传文件时,出现错误“创建formpost数据失败”。我知道文件路径不正确时会发生错误
test.php
...
$postcontent['files'] = '@test.jpg';
...
test.php和test.jpg在同一个文件夹中。但是,如果我改变物理路径的路径,代码运行良好
test.php
...
$postcontent['files'] = '@F:\xampp\htdocs\upload\test.jpg';
...
答案 0 :(得分:6)
尝试始终使用绝对路径,就像您在第二个示例中所做的那样有效。
当然,您不希望对该物理路径进行硬编码,因此您需要使用:
dirname(__FILE__)
获取包含编写该文件的文件的目录的路径__DIR__
给出完全相同的路径。
所以,在你的情况下,你可能会使用类似的东西:
$postcontent['files'] = '@' . __DIR__ . '/test.jpg';
或者,使用PHP< 5.3:
$postcontent['files'] = '@' . dirname(__FILE__) . '/test.jpg';