`
wensuper
  • 浏览: 69167 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用CURL把文件上传至服务器

阅读更多
一、客户端的PHP代码
<?php

//初始化一个句柄
$ch = curl_init();

//设置访问地址
curl_setopt($ch, CURLOPT_URL, "http://cq01-testing-lv01.vm.baidu.com:8808/mobile/uploadclient");

//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);

//参数设置,是否显示头部信息,1为显示,0为不显示
curl_setopt($ch, CURLOPT_HEADER, 0);

//伪造网页来源地址,伪造来自百度的表单提交
//curl_setopt($ch, CURLOPT_REFERER, "http://www.baidu.com");

//设置这个是POST请求
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 100);

//furl中的值必须以@符号开头,@后面是你的相对或者绝对路径
$furl="@./a.php";
$post_data = array (
    "client_file" => $furl
);

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_exec($ch);

if(FALSE === curl_exec($ch)){

    echo "cUrl Error:".curl_error($ch);
}else{

    echo "upload success";
}
//释放cURL句柄
curl_close($ch);



二、服务器端代码

<?php

if(!isset($_FILES['client_file']) || $_FILES['client_file']['error'] > 0){

            $arrRet['error_no'] = -1;
            $arrRet['data'] = $arrRet['data'] = array(
                'msg' => "upload file failed",
            );
        }
$arrInput = array(
                'filename' => $_FILES['client_file']['name'],
                'tmp_name' => $_FILES['client_file']['tmp_name'],
                'type' => $_FILES['file']['type'],
            );

move_uploaded_file($arrInput['tmp_name'],ROOT_PATH."/data/app/client/bin/".$arrInput['filename']);



三、使用网页上传的方式


<form action="/upload.php" method="post" enctype="multipart/form-data">
                <label>上传文件: <input name="client_file" type="file"/></label>
                <input name="submit" type="submit" value="提交"/>
</form>
分享到:
评论
1 楼 wensuper 2012-10-18  
这篇文件应该对不少网友有帮助,希望真心能帮到你们,谢谢,如果感觉有用就ding一下吧,哈哈

相关推荐

    PHP实现通过CURL上传文件功能示例

    PHP使用CURL上传文件只需发送一个POST请求就可以了,在请求中设置某个字段为需要上传的文件全路径,并且以”@”开头,然后使用CURL把该变量以POST方式发送到服务器,在服务端即可以从超级全局变量$_FILES中取到相应...

    go gin web框架文件上传,可以使用curl进行上传文件

    为了测试这个文件上传接口,我们可以使用curl命令。curl是一个强大的命令行工具,常用于与HTTP服务器交互。下面是如何使用curl上传文件的示例: ```bash curl -X POST -F 'file=@/path/to/your/local/file' ...

    ownCloud java使用curl上传文件

    服务器上传文件到ownCloud私有云,java调用curl上传,代码简单

    qt5使用curl实现文件下载的示例程序

    这种组合特别适合处理复杂的网络请求,例如需要自定义头部信息、使用代理服务器或者处理特定的认证机制。通过学习和实践,开发者可以更好地掌握网络通信在Qt5应用程序中的实现,提高项目开发的效率和质量。

    windows下的CURL上传下载图片

    本教程将详细介绍如何在Windows上使用C++和CURL库来实现图片的上传与下载。 首先,你需要下载并安装CURL库。CURL库提供了多种编程语言的接口,包括C++,可以在其官方网站找到最新版本的源码包。安装过程中,确保...

    linux sftp、ftp上传(使用curl)

    下面的命令将`localfile.txt`上传至FTP服务器: ```bash curl -T localfile.txt ftp://username:password@example.com/remote/path/ ``` 同样,`username`和`password`是FTP的登录凭据,`example.com`是服务器地址...

    c++实现向web服务器上传文件

    在文件上传场景中,客户端会将文件内容作为请求体发送给服务器。 在C++中,我们可以利用libcurl库来实现HTTP POST请求。libcurl是一个强大的URL传输库,支持多种协议,包括HTTP。首先,需要在VS2013项目中添加...

    Curl实现Get下载zip文件、post上传zip文件、普通post请求等

    在IT行业中,C++是一种强大的...总的来说,C++结合Curl库可以方便地处理各种网络请求,无论是简单的文件下载还是复杂的文件上传和数据交互。理解这些基本操作后,你可以根据需求扩展功能,实现更丰富的网络通信功能。

    nginx搭建文件服务器上传文件获取文件

    通过以上步骤,我们成功地使用 OpenResty + Nginx + Lua 构建了一个支持文件上传和获取的文件服务器。这种架构不仅提高了服务器的响应速度,还极大地简化了开发过程,为后续扩展提供了良好的基础。

    libcurl 上传文件

    使用 `curl_easy_perform()` 函数执行文件上传操作。此函数将执行所有设置的选项并返回一个结果代码。记得在完成后调用 `curl_easy_cleanup()` 清理资源。 7. **处理错误** 通过 `curl_easy_strerror()` 获取错误...

    curl实现ftp上传下载

    3. **设置上传选项**:使用`CURLOPT_UPLOAD`选项开启上传模式,并使用`CURLOPT_READFUNCTION`和`CURLOPT_READDATA`指定读取本地文件的数据源。 4. **执行请求**:调用`curl_easy_perform()`执行FTP上传操作。 5. *...

    实现Qt-FTP上传文件

    在本文中,我们将深入探讨如何使用Qt库与libcurl库结合,实现在C++应用程序中进行FTP文件上传的功能。Qt是一个强大的跨平台开发框架,它提供了丰富的GUI组件和网络功能,而libcurl则是一个用于处理多种互联网协议的...

    curl 实现SFTP上传和url Post Json信息

    使用 `curl` 进行 SFTP 上传 SFTP 是基于 SSH 的文件传输协议,提供了安全的文件传输。使用 `curl` 进行 SFTP 上传,你需要借助 `--netrc` 或 `-u` 参数来提供用户名和密码。以下是一个基本的 SFTP 上传命令示例:...

    curl服务器和上传

    `curl`不仅可以用来下载文件,还可以执行POST请求进行数据上传,这对于开发者进行API测试或自动化任务非常有用。 在Linux环境下,`curl`服务器通常是通过搭建一个本地服务器来实现的,这可以是临时的或者长期运行的...

    php curl模仿form表单提交图片或文件

    注意,这里使用`@`前缀告诉cURL这是一个文件上传。 3. **设置URL和请求头** 需要指定要提交的URL,使用`curl_setopt()`设置`CURLOPT_URL`选项。同时,如果表单提交有特定的HTTP头,如Content-Type,也需要设置`...

    curl 文件传输工具

    如果需要上传文件,可以使用`--upload-file`选项: ```bash curl --upload-file mydata.txt http://example.com/upload ``` `curl`支持多种认证机制,包括基本认证、NTLM、OAuth等,可以通过`-u`或`--user`选项...

    java--curl工具,用于生成curl链接,直接在服务器上使用

    在Linux环境中,curl命令广泛用于与HTTP服务器交互,它可以处理各种HTTP方法,支持HTTPS、HTTP/2,还可以处理身份验证、cookie、上传文件等复杂情况。使用curl命令,开发者可以方便地模拟客户端行为,验证服务端的...

    C++使用libcurl提供的API上传文件且Post表单数据

    首先,`con_test.cpp`是主要的源代码文件,它包含了使用libcurl进行文件上传和POST操作的具体实现。`StdAfx.cpp`和`StdAfx.h`是Visual Studio项目中的预编译头文件,用于提高编译速度。`con_test.dsp`和`con_test....

    可用的CURL bin文件

    5. "命令行CURL教程 Andy's Blog.htm"、"curl.html"、"CURL - 命令行下载工具.html":这些文件可能是关于如何使用CURL命令行工具的教程文档,可以帮助用户学习和理解CURL的用法。 CURL命令行工具的强大之处在于其...

    PHP使用curl模拟post上传及接收文件的方法

    PHP使用curl模拟post上传及接收文件的方法主要涉及利用PHP语言中的cURL库来模拟HTTP POST请求,从而实现文件上传到服务器以及从服务器接收文件的功能。在PHP中,cURL是一个强大的库,用于与服务器进行交互,它支持...

Global site tag (gtag.js) - Google Analytics