php怎样实现http文件上传功能
发表于:2024-10-13 作者:千家信息网编辑
千家信息网最后更新 2024年10月13日,本篇内容介绍了"php怎样实现http文件上传功能"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本文
千家信息网最后更新 2024年10月13日php怎样实现http文件上传功能
本篇内容介绍了"php怎样实现http文件上传功能"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
本文操作环境:windows7系统、PHP7.1版,DELL G3电脑
php http文件上传如何实现?
PHP 利用CURL(HTTP)实现服务器上传文件至另一服务器
代码如下:
// 上传端 /** * 向目标地址推送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安全错误
数据库的锁怎样保障安全
中国网络安全软件水平怎么样
盐城财务管理软件开发费用
国家网络安全施行时间
四川大学生网络安全大赛
王牌战士不同服务器可以一起玩吗
护苗网络安全课推广
深圳市萌悠网络技术有限公司
数据库程序简单实例
软件里的数据库连接
asp内部服务器错误
邯郸软件开发锦诚
网络安全计划项目书
广州c语言软件开发定制费用
服务器怎么找到安全组配置
万象和数据库
金山区软件开发哪家好
服务器数字证书举例
一个数据库的数据模型由
纺织品仓库管理软件开发
伟创力数据库
江苏全球软件开发大会
萍乡稳定服务器哪家好点
网络安全能力证书
java软件开发工程是什么
魔法觉醒预下载服务器
翼猫网络安全测评
odoo 10 数据库
数据库sql转意为汉字
县市 建立大数据库
江苏时钟同步服务器云服务器