通过CURL上传 - 如何更改目标文件名?

时间:2015-07-30 13:38:04

标签: php curl

我每天都会将CSV文件上传到另一台FTP服务器:

$post["File1"] = new CurlFile($local_path);

curl_setopt ($ch, CURLOPT_URL, $upload_config->ChunkUri);
curl_setopt ($ch, CURLOPT_POST, true);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt ($ch, CURLOPT_VERBOSE, FALSE);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_HEADER, true);

$upload_response = curl_exec ($ch);

假设我的$ local_path变量为:

" ../下载/报告/文件/ 2015-07-30.csv"

我希望文件上传到服务器,文件名为:2015-07-30.csv

但更多时候它会出现:

downloadsreportsfile2015-07-30.csv - 荒谬!!!!

奇怪的是,SOMETIMES文件上传了原始文件名,但大多数时候文件上传的文件名是整个文件夹路径的组合。

我无法弄清楚为什么它会随机发生。文件名只是日期日期,文件夹路径是一致的。

是否有明确设置文件名的选项?

1 个答案:

答案 0 :(得分:1)

使用此代码获取mime文件的值

<?php
    function getmimefile($file){
        $finfo = finfo_open(FILEINFO_MIME_TYPE);
        $ftype = finfo_file($finfo,$file);
        finfo_close($finfo);
        return $ftype;
    }

所以你可以像这样处理mimefile

$post["File1"] = new CurlFile($local_path, getmimefile($local_path), $actual_filename);
相关问题