PHP上传图片至阿里云
<?php
header("Content-type: text/html; charset=utf-8");
header('Access-Control-Allow-Origin:*');
require_once '/aliyun-oss-php-sdk-master/autoload.php';
use OSS\OssClient;
use OSS\Core\OssException;
$accessKeyId = "*********"; ;
$accessKeySecret = "************";
$endpoint = "oss-cn-shanghai.aliyuncs.com";
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
$ossClient->setTimeout();
$ossClient->setConnectTimeout();
function create_guid() {
$charid = strtoupper(md5(uniqid(mt_rand(), true)));
$uuid =
substr($charid, , )
.substr($charid, , )
.substr($charid,, )
.substr($charid,, );
return $uuid;
}
function WriteLog($info)
{
$file = 'F:\wampserver\setup\wamp\www\log.txt';
file_put_contents($file, $info,FILE_APPEND);
}
function test_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
function Outputsmallimage($tmp_path, $dst_w, $file_path, $file_name)
{
$arr=getimagesize($tmp_path);
$src_w=$arr[];
$src_h=$arr[];
$type=$arr[];
switch($type){
case :$src_im=imagecreatefromgif($tmp_path);break;
case :$src_im=imagecreatefromjpeg($tmp_path);break;
case :$src_im=imagecreatefrompng($tmp_path);break;
default:UtlsSvc::showMsg('不支持该图片类型','/coinproduct/index/');
}
if ($dst_w == ) {
$dst_h = ;
} elseif ($dst_w == ) {
$dst_h = ;
} elseif ($dst_w == ) {
$dst_h = ;
}
$dst_im=imagecreatetruecolor($dst_w,$dst_h);
imagecopyresized($dst_im,$src_im,,,,,$dst_w,$dst_h,$src_w,$src_h);
imagejpeg($dst_im, $file_path.'/'.$file_name);
}
class Backinform
{
public $kindsmall ;
public $kindbig;
public $kind;
}
class CommentImage
{
private $servername;
private $username ;
private $password;
private $dbname ;
private $sql;
private $conn;
public function CommentImage()
{
$this->servername="cnpsimout.mysql.rds.aliyuncs.com:****";
$this->username="******";
$this->password="******";
$this->dbname="******";
$this->conn = new mysqli($this->servername,$this->username,$this->password,$this->dbname);
if ($this->conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
WriteLog("Connection failed: " . $conn->connect_error);
}
}
public function Insert_image($resourceid,$mediaid,$linktype,$linkid,$resourcetype,$image,$image2)
{
$this->sql = "INSERT INTO resources (resourceid,mediaid,linktype,linkid,resourcetype,smallurl,bigurl)
VALUES ('$resourceid','$mediaid','$linktype','$linkid','$resourcetype','$image','$image2')";
if ($this->conn->query($this->sql) === TRUE)
{
WriteLog(mysqli_error());
return "OK"; }
else
{
WriteLog(mysqli_error());
return "NO";
}
$str=mysql_error($this->conn);
WriteLog($str);
}
}
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
WriteLog("\n上传开始时间:".date('y-m-d h:i:s',time())."\n");
$backinfo=new Backinform();
$backinfo->kindbig="";
$backinfo->kindsmall="";
$backinfo->kind="";
$uptypes=array('image/jpg','image/jpeg','image/png','image/pjpeg','image/gif','image/bmp','image/x-png');
$destination_folder="uploadimg/"; //上传文件路径
$file = $_FILES["upfile"];
$filename=$file["tmp_name"];
$image_size = getimagesize($filename);
$pinfo=pathinfo($file["name"]);
$ftype=$pinfo['extension'];
$imagebig=create_guid().".".$ftype;
$imagesmall=create_guid().".".$ftype;
$bucket = "w376161501";
$object="Ionic/Imagebig/".$imagebig;
try{
$ossClient->uploadFile($bucket,$object,$filename);
$backinfo->kindbig="OK";
}
catch (OssException $e) {
WriteLog("上传原图失败信息".$e->getMessage());
$backinfo->kindbig="NO";
}
Outputsmallimage($filename, ,$destination_folder, $imagesmall);
$object2="Ionic/Imagesmall/".$imagesmall;
$path=$destination_folder.$imagesmall;
try{
$ossClient->uploadFile($bucket,$object2,$path);
$backinfo->kindsmall="OK";
}
catch (OssException $e) {
WriteLog("上传压缩图失败信息".$e->getMessage());
$backinfo->kindsmall="NO";
}
unlink($path);
if($backinfo->kindsmall=="OK"&&$backinfo->kindbig=="OK")
{
$insertimage=new CommentImage();
$resourceid=create_guid();
$mediaid="DB5483ADCADC3ADC1E5CD2";
$linkid=test_input($_POST["id"]);
$linktype=test_input($_POST["eventtype"]);
WriteLog("连接ID:".$linkid."--连接类型:".$linktype."\n");
$resourcetype="图片";
if($insertimage->Insert_image($resourceid,$mediaid,$linktype,$linkid,$resourcetype,$object2,$object)=="OK")
{
$backinfo->kind="OK";
$json = json_encode($backinfo);
echo "$json";
WriteLog("资源ID:".$resourceid."--成功上传截止:".date('y-m-d h:i:s',time())."\n");
}
else
{
WriteLog("\n数据添加失败");
}
}
}
?>
demo下载地址http://download.csdn.net/detail/w76161501/9663266
PHP上传图片至阿里云的更多相关文章
- 上传图片到阿里云OSS和获取上传图片的外网url的步骤
啥都不说 直接上代码 1.html: <form action="/bcis/api/headImgUpload.json" method="post" ...
- swift3.0 从相册选取或者拍照上传图片至阿里云OSS
导入相应的库 import Photos import AliyunOSSiOS 选取照片需要继承 UIImagePickerControllerDelegate,UINavigationContro ...
- multipartUpload上传图片到阿里云
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- vue 上传图片到阿里云(前端直传:不推荐)
为何要这样做:减轻后端数据库压力(个人觉得于前端没啥用,谁返回来都行) 代码部分: <template> <div class="upLoad"> < ...
- Java中使用RestFul接口上传图片到阿里云OSS服务器
1.接口方法 import java.io.IOException; import javax.servlet.http.HttpServletRequest; import org.springfr ...
- 压缩并上传图片到阿里云(jfinal)
/** * 获取上传文件 * * @param r * @Return: com.oreilly.servlet.multipart.FilePart */public static FilePart ...
- vue中上传图片至阿里云oss
1.开通阿里云的oss服务这些这里就不多做介绍了 2.登入阿里云的后台管理系统创建一个Bucket 3.在后台管理系统中进入访问控制 4.点击用户管理->新建用户->填写相关信息,就生成了 ...
- 上传图片到阿里云oss
阿里云地址 登录阿里云管理控制台,创建对象存储oss private static final String endpoint = "http://oss-cn-shanghai.aliyu ...
- TP框架上传图片至阿里云oss
首先安装阿里云oss扩展: composer require aliyuncs/oss-sdk-php 如果这个安装不上可以直接下载SDK的包: 链接:https://pan.baidu.com/s/ ...
随机推荐
- onvif规范的实现:成功实现ONVIF协议RTSP-Video-Stream与OnvifDeviceManager的视频对接
有了前几篇的基础,现在可以正式开始onvif的实现工作,其中一项非常重要的部分就是视频流的对接,即能够在符合onvif标准的监控客户端软件里接收到设备端NVT发来的RTSP视频流.这里,我所用的客户端 ...
- Java web项目
前言 本文目标:使用eclipse为IDE环境搭建一个基于maven的web项目,讲解搭建过程,项目结构,程序运行.调试和测试过程,并使用maven作为持续集成工具. 面向对象:转型java的 ...
- 将json的时间格式转换成正常的时间格式
/** * 对Date的扩展,将 Date 转化为指定格式的String * 月(M).日(d).12小时(h).24小时(H).分(m).秒(s).周(E).季度(q) 可以用 1-2 个占位符 * ...
- JQ 替换节点
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 对WEB标准以及W3C的理解与认识 - 提高网页加载速度
在写代码的时候应该注意: 1.标签闭合 2.标签小写 3.不能随意嵌套 提高被搜索引擎搜到几率: mate中的name变量[其中keywords和description尤其重要] Meta name= ...
- 关于JS变量和作用域
ECMAScript 变量:1.基本类型值(简单数据段) 2.引用类型值(可能由过个值构成的对象) → 保存在内存中的对象 动态属性: 只能给引用型值动态添加新属性,以便将来使用. 复制变量值 : 基 ...
- Java之利用Socket获取网站内容
public void main(String[] args){ String host = "123.126.113.42"; int port = 80; Socket s = ...
- Loader之一:基本原理
参考APIDEMO及http://developer.android.com/guide/components/loaders.html#app 1.Introduced in Android 3.0 ...
- [汇编语言]-第八章 div指令,伪指令dd,dup
1- div除法指令 (1) 除数: 有8位和16位两种,在一个寄存器或内存单元中. (2) 被除数: 默认放在AX和DX或AX中 除数为8位, 被除数为16位, 默认在AX中存放. 除数为16位, ...
- ListView的小知识
1.设置项目分割功能 android:divider="@android:color/blue" android:dividerHeight="10dp" &l ...