PHP demo

删除的时候记住不要带域名,也不要带'/'这个路径符号,如全路径是:'https://hxty.oss-cn-beijing.aliyuncs.com/data/pdf/contract/2021-06-16/HXSHB21061611594482340c.pdf',则这里的path_file路径为:'data/pdf/contract/2021-06-16/HXSHB21061611594482340c.pdf'。

<?php
include './aliyun-oss-php-sdk-2.4.2/autoload.php';use OSS\OssClient;
use OSS\Core\OssException;error_reporting(E_ALL);
ini_set('display_errors', 1); //错误信息
ini_set('display_startup_errors', 1); //php启动错误信息
session_start();
/*** 取小数点后两位* @param type $str 带小数的数字* @return type     返回准确截取两位的小数*/function num_format($str) {if (strpos($str, '.') === false) {return $str;}$retArr = explode(".", $str);$strs = substr($retArr[1], 0, 2);return $retArr[0] . "." . $strs;
}function create_folders($dir) {return is_dir($dir) or ( create_folders(dirname($dir)) and mkdir(iconv("UTF-8", "GBK", $dir), 0777, true));
}
$file = $_FILES['file'];$accessKeyId = '';//RAM alioss后台能拿到
$accessKeySecret = '';//RAM alioss后台能拿到
$endpoint = 'oss-cn-beijing.aliyuncs.com';//alioss后台 概览可以拿到
$bucket = 'planet-cross';//创建的组,随便吧创建,权限正常就行
echo '<pre>';
var_dump($_SESSION);
if ($file) {$filename = "/upload/image/" . date("Ymd");if (!file_exists("." . $filename)) {create_folders("." . $filename);}
//获取后缀$ary = explode('.', $file['name']);$su = end($ary);
//文件名$filenames = $filename . "/" . time() . rand(1, 10000) . "." . $su;move_uploaded_file($file['tmp_name'], "." . $filenames);$ossClient = new \OSS\OssClient($accessKeyId, $accessKeySecret, $endpoint);$filenames = ltrim($filenames, '/'); //去除 第一个 '/'
// 开始上传$pic = $filenames;try {$oss = $ossClient->uploadFile($bucket, $pic, $filenames);$filenames = $oss['info']['url'];$_SESSION['file']=$filenames;echo $filenames;echo '<img src="' . $filenames . '" />';//删除本地文件} catch (\OSS\Core\OssException $e) {die("Failed to upload file ");return false;}
} else if(!empty($_SESSION['file'])){try {$patch=trim(parse_url($_SESSION['file'])['path'],'/');$ossClient = new \OSS\OssClient($accessKeyId, $accessKeySecret, $endpoint);$oss=$ossClient->deleteObject($bucket,$patch);$_SESSION['file']=null;} catch (OssException $e) {printf(__FUNCTION__ . ": FAILED\n");printf($e->getMessage() . "\n");return;}
}/*** 删除文件* 可以删除调用ajaxfile上传的文件* @param type $path_file   文件路径* 删除的时候记住不要带域名 也不要带  / 这个路径符号*/function delfile($path_file) {if (config('config.OSS_OPEN')) {try {// 删除的时候记住不要带域名,也不要带'/'这个路径符号,如全路径是:'https://hxty.oss-cn-beijing.aliyuncs.com/data/pdf/contract/2021-06-16/HXSHB21061611594482340c.pdf',则这里的path_file路径为:'data/pdf/contract/2021-06-16/HXSHB21061611594482340c.pdf'。$path_file=trim(parse_url($path_file)['path'],'/');//去掉域名,$ossClient = new \OSS\OssClient(config('config.OSS_KEY'), config('config.OSS_SECRET'), config('config.OSS_ENDPOINT'));$ossClient->deleteObject(config('config.OSS_BUCKET'), $path_file);} catch (OssException $e) {printf(__FUNCTION__ . ": FAILED\n");printf($e->getMessage() . "\n");return;}} else {$val2 = "." . $path_file;if (file_exists($val2)) {$unlinkfilename = trim($path_file, "/");unlink($unlinkfilename);}}}

删除的时候记住不要带域名,也不要带'/'这个路径符号,如全路径是:'https://hxty.oss-cn-beijing.aliyuncs.com/data/pdf/contract/2021-06-16/HXSHB21061611594482340c.pdf',则这里的path_file路径为:'data/pdf/contract/2021-06-16/HXSHB21061611594482340c.pdf'。

php 文件上传至OSS及删除远程阿里云OSS文件相关推荐

  1. java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息...

    1.java使用Jsch实现远程操作linux服务器进行文件上传.下载,删除和显示目录信息. 参考链接:https://www.cnblogs.com/longyg/archive/2012/06/2 ...

  2. php 删除上传文件,php实现文件上传、下载和删除的方法

    这篇文章主要为大家详细介绍了php文件上传.下载和删除示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 php文件上传.下载和删除示例大体思路如下,具体内容如下 一.文件上传 1.把上传文件的区 ...

  3. PHP网站设计 ---- 网盘(实现用户注册、登录,文件上传、下载、删除、查看等功能)

    PHP网站设计 ---- 网盘(实现用户注册.登录,文件上传.下载.删除.查看等功能) 运行效果 视频演示 项目下载(在xampp/htdocs/下可以直接运行) 完整项目包.zip 功能要求 当用户 ...

  4. layui实现文件压缩上传_基于SSM框架、Layui的多文件上传、包括图片,压缩包,音频等文件(与数据库挂钩) - 爱秧博客...

    写在前面:当初为了实现一个多文件上传可是费了一番功夫,经过我日日夜夜的百度咨询,写了好几种方法,最终还是没能解决问题.我可以很负责任的告诉你,你去百度上不管你形容有多好,只要是涉及多文件,就会查到Mu ...

  5. java上传文件限制大小_Java Web:附件上传,两种文件上传限制格式及大小方法,学习笔记文件操作【诗书画唱】...

    附件上传: package com.jy.controller; import java.io.File; import java.io.FileOutputStream; import java.i ...

  6. 前端资源文件(图片 css js)同步到阿里云OSS

    前端资源文件(图片 css js)同步到阿里云OSS 需求: 为了实现自动化更新前端资源,前端资源已放到了阿里云OSS,实现自动上传. 思路: 1.因为使用的是php语言开发项目,自然会想到用php实 ...

  7. SpringBoot整合阿里云OSS,支持文件上传、下载、删除、加签等操作

    首先附上OSS基本介绍和官方文档链接:https://help.aliyun.com/product/31815.html?spm=ata.21736010.0.0.25d67536bR4cly 另外 ...

  8. SpringBoot 系列教程(九十九):SpringBoot整合阿里云OSS实现文件上传,下载,删除功能

    一.前言 之所以写这篇文章呢? 是因为最近在做文件上传时遇到一个问题,就是我们在以前使用传统Spring+SpringMVC+Mybatis框架开发Web项目的时候,都是将项目打包生成一个War包,然 ...

  9. asp.net zero 8.2 学习-12- abp 文件上传、获取、删除

    1. 页面布局 我们先按照第二讲的方法 创建一个页面 创建出一个空页面. 先创建一个Controller,比如MetronicController,再创建一个Action方法:UploadFile,再 ...

最新文章

  1. 关于 ulimit -SHn 65535
  2. Mac下pycharm如何安装tensorflow
  3. chrome 禁用恢复页面提示_有哪些很值得推荐的Chrome插件?精选7款实用插件
  4. 在计算机技术领域中数据库一词泛指,数据库原理模拟试题.doc
  5. JavaFX BorderPane布局代码示例
  6. dojo Quick Start/dojo入门手册--dojo.hitch scope/context
  7. 前端遍历列表生成表格_图书作者的演练-创建列表页和添加表单框-flask
  8. Android 平台下Cordova 调用Activity插件开发
  9. python sql脚本_使用Python SQL脚本进行数据采样
  10. 1.3、TetGen网格化过程之描述
  11. soltrace教程(2)旧版本项目导入新版本
  12. MSDP协议报文类型
  13. idea查看代码行数Statistic
  14. 百度地图 添加 左键菜单 Cannot read property 'remove' of undefined
  15. 正则表达式 - 自动生成器
  16. Rolling In The Deep中文歌词翻译能对的上节奏
  17. java-net-php-python-ssm电子班牌系统计算机毕业设计程序
  18. GPLT PAT 编程练习
  19. 23、动画及视野拓展
  20. 基于灰狼算法优化的lssvm回归预测-附代码

热门文章

  1. 【23考研】计算机择校信息库-福建高校计算机相关专业22专业目录分类汇总(按专业课分类汇总)
  2. 第 1 节 JavaScript简介、JS的HelloWorld、JS编写位置
  3. 磨金石教育摄影技能干货分享|优秀摄影作品如何表现创意与思想的
  4. JAVA-Stream流
  5. 有效等价类处理用NextDate函数,x、y、z分别赋值给Date1的年月日,来达到日期增加三天的目的。细则是2月份和12月份是比较特殊的:二月份他有可能是有28天,也有可能有29天;12月份,它一过
  6. Logger日志使用教程
  7. 打官司无非是为争取民企与国企平等保护、维护契约精神之战。
  8. imx6 linux 开发环境,大干货!迅为IMX6开发板丨Android丨Ubuntu丨Linux丨三大系统全开源...
  9. WEB应用发布管理平台的设计与实现
  10. 华为OD机试 - 获得完美走位(C 语言解题)【独家】