curl上传文件到服务器命令,post-如何用curl命令上传文件到制定的目录?后台用php程序来接收,apachehttpd做服务器...

用curl命令上传文件到服务器,但是只能传到/tmp文件夹中,请问这是为什么呢?

linux命令行输入:

curl -F upload=@/root/yifei.txt http://server_ip/upload.php

在server端的/var/www/html/中放入文件upload.php

在这里只能制定tmp目录,如果制定其他目录会上传失败,所以只能传到/tmp文件夹里面,请问如何才能上传到指定目录呢?

参考:http://www.aslibra.com/blog/post/curl_po...

回复内容:

用curl命令上传文件到服务器,但是只能传到/tmp文件夹中,请问这是为什么呢?

linux命令行输入:

curl -F upload=@/root/yifei.txt http://server_ip/upload.php

在server端的/var/www/html/中放入文件upload.php

在这里只能制定tmp目录,如果制定其他目录会上传失败,所以只能传到/tmp文件夹里面,请问如何才能上传到指定目录呢?

参考:http://www.aslibra.com/blog/post/curl_po...

把临时目录下的文件移动到目标上传目录

move_uploaded_file($file['tmp_name'], $filename)

参考http://php.com/manual/zh/function.move-u...

用move_uploaded_file(),下面是我用yii框架写的:

if (!empty($_FILES['avatar']['name'])) {

$file_name = $_FILES['avatar']['name'];

$path = Yii::getAlias('@webroot') . DIRECTORY_SEPARATOR . 'upload' . DIRECTORY_SEPARATOR . $file_name; //图片保存路径

$file = $_FILES["avatar"]["tmp_name"];

move_uploaded_file($file, $path);

}

Yii::getAlias('@webroot')对应物理路径'D:/xampp/htdocs/project/web',linux服务器的话会有不同。

可以选择copy一份过去,注意文件夹的权限问题;

move_uploaded_file()也是可以,但还是得注意文件夹是否有写入权限

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用cURL库实现将文件到HTTP服务器。以下是一个简单的示例代码: ```c++ #include <stdio.h> #include <curl/curl.h> int main(int argc, char *argv[]) { CURL *curl; CURLcode res; FILE *fp; struct curl_httppost *formpost = NULL; struct curl_httppost *lastptr = NULL; curl_global_init(CURL_GLOBAL_ALL); /* 上文件名 */ char *filename = "test.txt"; /* 上的目标 URL */ char *url = "http://example.com/upload"; /* 打开文件 */ fp = fopen(filename, "rb"); if (!fp) { printf("Failed to open file: %s\n", filename); return 1; } /* 初始化curl */ curl = curl_easy_init(); if (!curl) { printf("Failed to initialize curl\n"); fclose(fp); return 1; } /* 添加要上文件 */ curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "file", CURLFORM_FILE, filename, CURLFORM_END); /* 设置要上的 URL */ curl_easy_setopt(curl, CURLOPT_URL, url); /* 设置要上的 POST 数据 */ curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost); /* 执行上 */ res = curl_easy_perform(curl); if (res != CURLE_OK) { printf("Failed to upload file: %s\n", curl_easy_strerror(res)); curl_formfree(formpost); curl_easy_cleanup(curl); fclose(fp); return 1; } /* 清理资源 */ curl_formfree(formpost); curl_easy_cleanup(curl); fclose(fp); curl_global_cleanup(); return 0; } ``` 这段代码中,我们使用了`curl_formadd`函数来添加要上文件,使用`curl_easy_setopt`函数来设置上的URL和POST数据,最后使用`curl_easy_perform`函数来执行上操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值