不使用表单将文件上传到服务器?

时间:2011-05-17 20:36:21

标签: php html file-upload curl http-headers

我们想象那种形式;

<form action="http://api.blabla.com/huhu.php" method="post" enctype="multipart/form-data">
        <input type="file" name="files[]" />
        <button type="submit">submit</button>
    </form>

我想在不使用上面的表单的情况下将文件上传到此服务器。

我用php curl尝试了这个,但我不能。

我想要它,因为我要上传大量文件。这应该是cron工作的自动化。

1 个答案:

答案 0 :(得分:5)

这是使用cURL上传文件的示例,您可以从以下开始:

$ch = curl_init('http://api.blabla.com/huhu.php');
curl_setopt_array($ch, array(
    CURLOPT_POSTFIELDS => array(
        'files[]' => '@/path/to/file',
    ),
));
if (false === ($res = curl_exec($ch))) {
    die("Upload failed: " . curl_error($ch));
}

字符串'@/path/to/file'具有特殊含义,因为它以@开头;直接跟在它后面的字符串应该包含你要上传的文件的路径。