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/ ...
随机推荐
- Android中webView的基础使用(一)
WebView是View的一个子类,可以让你在activity中显示网页. 可以在布局文件中写入WebView:比如下面这个写了一个填满整个屏幕的WebView: <?xml version=& ...
- android一些常用的代码1(收藏)
以下内容来自多个开源项目的整理和自己的项目积累. 1.拨打电话 public static void call(Context context, String phoneNumber) { conte ...
- C语言undefined behaviour未定义行为
C语言中的未定义行为(Undefined Behavior)是指C语言标准未做规定的行为.同时,标准也从没要求编译器判断未定义行为,所以这些行为有编译器自行处理,在不同的编译器可能会产生不同的结果,又 ...
- sql 事务和回滚
(1) set ANSI_NULLS ON --见图1 set QUOTED_IDENTIFIER ON go ALTER proc [dbo].[procname] as begin begin t ...
- vim自动补全文章搜集
引用文章A:http://blog.csdn.net/wendy260310/article/details/18035555 文章介绍:添加C++标准库的tags文件方法.(中文版) 引用文章B:h ...
- Error:Execution failed for task ':app:mergeDebugResources'. > Some file crunching failed, see logs for details
Android Studio 编译中断.... Error:Execution failed for task ':app:mergeDebugResources'. > Some file c ...
- JS编程最佳实践
最近花了一周时间把<编写可维护的js> 阅读了一遍, 现将全书提到的JS编程最佳实践总结如下, 已追来者! 1.return 之后不可直接换行, 否则会导致ASI(自动分号插入机制)会在r ...
- 引用 - PHP手册笔记
引用是什么 PHP中的引用意味着,用不同的变量名访问同一变量内容,类似于Unix的文件名和文件本身(变量名是目录条目,变量内容是文件本身,即用不同的目录条目访问同一文件),可以看做Unix文件系统中的 ...
- php后台判断ajax请求
if (isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && $_SERVER["HTTP_X_REQUESTED_WI ...
- 发现中文版《C Primer Plus第五版》示例程序的一个错误
错误的程序出现再第17章的499页ListItemCount()和500页的Traverse()两个函数上. 原著包含所有函数定义的list.c如下: #include<stdio.h> ...