php如何实现http文件上传
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关php如何实现http文件上传,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、初始化cURL会话。2、获取CURLFile实例。3、执
千家信息网最后更新 2026年11月01日php如何实现http文件上传
这篇文章将为大家详细讲解有关php如何实现http文件上传,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
1、初始化cURL会话。
2、获取CURLFile实例。
3、执行给定的cURL会话。
4、根据文件路径获取一个CURLFile类实例。
5、设置保存的文件夹即可。
实例
// 上传端 /** * 向目标地址推送xls文件 * @Date 2019/4/29 */ public function putXls() { // 目标接口 $url = "http://xxx"; // 初始化 cURL 会话, 如果提供url,CURLOPT_URL 选项将会被设置成这个值 $ch = curl_init($url); // 获取CURLFile实例 $xlsCurlFile = $this->makeCurlFile(base_path()."/public/tby.xls"); $data = array('xls' => $xlsCurlFile); // TRUE 时会发送 POST 请求,类型为:application/x-www-form-urlencoded,是 HTML 表单提交时最常见的一种。 curl_setopt($ch, CURLOPT_POST, 1); // 从 PHP 5.5.0 开始, @ 前缀已被废弃,文件可通过 CURLFile 发送。 设置 CURLOPT_SAFE_UPLOAD 为 TRUE 可禁用 @ 前缀发送文件,以增加安全性。 curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // 执行给定的 cURL 会话 // 成功时返回 TRUE, 或者在失败时返回 FALSE。 然而,如果 设置了 CURLOPT_RETURNTRANSFER 选项,函数执行成功时会返回执行的结果,失败时返回 FALSE 。 $result = curl_exec($ch); if (curl_errno($ch)) {// 返回错误代码或在没有错误发生时返回 0 (零)。 // 返回错误信息,或者如果没有任何错误发生就返回 '' (空字符串)。 $result = curl_error($ch); } // 关闭 cURL 会话 curl_close($ch); } /** * 根据文件路径获取一个CURLFile类实例 * @param string $file 文件路径 * @return CURLFile * @Date 2019/4/29 */ private function makeCurlFile(string $file) { /** * .xls mime为 application/vnd.ms-excel * .xlsx mime为 application/vnd.openxmlformats-officedocument.spreadsheetml.sheet * 可参考 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types * * 注意:也可以使用 finfo类动态获取,但需要装fileinfo扩展 * demo: $result = new finfo(); if (is_resource($result) === true) { return $result->file($filename, FILEINFO_MIME_TYPE); } return false; */ $mime = "application/vnd.ms-excel"; $info = pathinfo($file); $name = $info['basename']; $output = new CURLFile($file, $mime, $name); return $output; } // 接收端 public function getFile(){ // 保存的文件夹,需要注意所在用户组是否有写入权限 $uploads_dir = base_path()."/public/test"; $xlsFiles = $_FILES["xls"] ?? null; if($xlsFiles){ if ($xlsFiles["error"] == UPLOAD_ERR_OK) { $tmp_name = $xlsFiles["tmp_name"]; $name = $xlsFiles["name"]; move_uploaded_file($tmp_name, "$uploads_dir/$name"); } // todo success }else{ // todo fail }}关于"php如何实现http文件上传"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
文件
实例
错误
篇文章
路径
成功
前缀
文件夹
更多
目标
参考
不错
实用
安全
代码
信息
内容
函数
动态
地址
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
耶加雪菲
苏州找大状互联网科技有限公司
科技与互联网
互联网科技有限公司经营范围
互联网巨头科技公司
金融科技与互联网金融
互联网金融 科技金融
猪兼强互联网科技
西安互联网科技
互联网科技缩写
上海万想互联网科技
互联网科技网站
上海亿帐通互联网科技
互联网科技大会案例
江苏南京365互联网科技
常德市电业局互联网科技部
茂名市互联网科技产业园
佛山市翊博互联网络科技有限公司
全球科技与互联网公司市值变化
山东亿川互联网科技有限责任公司
瑰夏咖啡
手磨咖啡
有格互联网科技
广州淘业互联网络科技
万易互联网科技
善班互联网科技
天津摩尔互联网科技
善班互联网科技有限公司
互联网科技大会
国大互联网教育科技有限公司薪资