【问题标题】:could not open file base.csv无法打开文件 base.csv
【发布时间】:2018-08-15 05:46:06
【问题描述】:

我正在尝试在 Yii 1 中使用 curl 在 api 中发送文件。File 我们使用表单上传,然后使用 api 将其发送到 server。这就是我正在做的事情:

$apiFile= CUploadedFile::getInstanceByName('bases');
 $apiFile = new CURLFile($apiFile->name, $apiFile->type, $apiFile->tempName);
                    $postData = array(
                        'title' => $_POST['Bases']['title'],
                        'file' => $apiFile
                    );

在卷曲中:

$ch = curl_init();
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, TRUE);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $result = curl_exec($ch);
        var_dump(curl_error($ch));
        curl_close($ch);

现在当代码运行时,它会抛出这个error

无法打开文件 base.csv

我的php 版本是7.0.9 我已经尝试过这里提到的不同解决方案,但它们似乎都不起作用。我在这里错了什么?有什么帮助吗?

【问题讨论】:

    标签: php file curl file-upload


    【解决方案1】:

    您的代码示例中的 CURLFile 参数顺序存在错误。应该是:
    $apiFile = new CURLFile($apiFile->tempName, $apiFile->type, $apiFile->name);

    【讨论】:

      【解决方案2】:

      尝试以下方法:

      1) 检查你的文件路径字符串是否有文件的扩展名 2) 检查您是否使用绝对路径,因为在 PHP 5 CURLFile 使用绝对路径之后。

      参考:https://recalll.co/ask/v/topic/php-curl%3A-%2826%29-couldn%27t-open-file/557990462bd2730c558ba7ea

      【讨论】:

        猜你喜欢
        • 2019-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-09
        • 2018-11-30
        • 2015-10-16
        • 2016-05-25
        相关资源
        最近更新 更多