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