七牛API操作类

<?php

require_once("qiniu/io.php");
require_once("qiniu/rs.php");
require_once("qiniu/fop.php");

$accessKey = 'M96SigayyYQR0VdlFir96pGKmf3NZ5YPTmF0lz**';
$secretKey = 'BlGJG8cH2Sgjqjrq3_YAvouxa-DRIAr9eMKWmb**';

/**
*	qiniu API 操作类 
*/
class qiniu 
{
	static $client;
	static $bucket;
	
	function __construct($accessKey,$secretKey)
	{
		Qiniu_setKeys($accessKey, $secretKey);
		self::$client = new Qiniu_MacHttpClient(null);
	}

	function bucket($bucket)
	{
		self::$bucket=$bucket;
		return $this;
	}
	//查看单个文件属性信息
	function info($file)
	{
		list($ret,$err)=Qiniu_RS_Stat(self::$client, self::$bucket,$file);//返回文件信息
		return $err?$err:$ret;
	}
	//复制单个文件
	function copys($file,$newfile)
	{
		$err = Qiniu_RS_Copy(self::$client, self::$bucket, $file, self::$bucket,$newfile);
		return $err?$err:"success";
	}
	//移动单个文件
	function move($file,$newfile)
	{
		$err = Qiniu_RS_Move(self::$client, self::$bucket,$file, self::$bucket,$newfile);
		return $err?$err:"success";

	}
	//删除单个文件
	function delete($file)
	{
		$err = Qiniu_RS_Delete(self::$client, self::$bucket,$file);
		return $err?$err:"success";
	}

	
	function upload_str($file,$content)
	{
			$putPolicy = new Qiniu_RS_PutPolicy(self::$bucket);
			$upToken = $putPolicy->Token(null);
			list($ret, $err) = Qiniu_Put($upToken, $file, $content, null);
			return $err?$err:$ret;
	}
        //文件上传
	function upload($filename,$filepath)
	{
		$putPolicy = new Qiniu_RS_PutPolicy(self::$bucket);
		$upToken = $putPolicy->Token(null);
		$putExtra = new Qiniu_PutExtra();
		$putExtra->Crc32 = 1;
		list($ret, $err) = Qiniu_PutFile($upToken,$filename,$filepath, $putExtra);
		return $err?$err:$ret;
	}

	function download($file,$private=0)
	{
		$domain = self::$bucket.'.qiniudn.com';
		$baseUrl = Qiniu_RS_MakeBaseUrl($domain,$file);
		if($private)
		{
			$getPolicy = new Qiniu_RS_GetPolicy();
			$baseUrl = $getPolicy->MakeRequest($baseUrl, null);
		}
		return $baseUrl;
	}

	//查看图像属性
	function imgInfo($file,$private=0)
	{
		$domain = self::$bucket.'.qiniudn.com';
		$baseUrl = Qiniu_RS_MakeBaseUrl($domain,$file);
		//生成fopUrl
		$imgInfo = new Qiniu_ImageInfo;
		$imgInfoUrl = $imgInfo->MakeRequest($baseUrl);

		if($private)
		{
			//对fopUrl 进行签名,生成privateUrl。 公有bucket 此步可以省去。
			$getPolicy = new Qiniu_RS_GetPolicy();
			$imgInfoUrl = $getPolicy->MakeRequest($imgInfoUrl, null);
		}
		return file_get_contents($imgInfoUrl);

	}

	function imgExif($file,$private=0)
	{

		$domain = self::$bucket.'.qiniudn.com';
		$baseUrl = Qiniu_RS_MakeBaseUrl($domain,$file);

		//生成fopUrl
		$imgExif = new Qiniu_Exif;
		$imgExifUrl = $imgExif->MakeRequest($baseUrl);
		if($private)
		{
			//对fopUrl 进行签名,生成privateUrl。 公有bucket 此步可以省去。
			$getPolicy = new Qiniu_RS_GetPolicy();
			$imgExifUrl = $getPolicy->MakeRequest($imgExifUrl, null);
		}
		return file_get_contents($imgExifUrl);
	}
	function imgView($file,$w=120,$h=120,$private=0)
	{
		$domain = self::$bucket.'.qiniudn.com';
		$baseUrl = Qiniu_RS_MakeBaseUrl($domain,$file);

		//生成fopUrl
		$imgView = new Qiniu_ImageView;
		$imgView->Mode = 2;
		$imgView->Width =$w;
		$imgView->Height = $h;
		$imgViewUrl = $imgView->MakeRequest($baseUrl);

		if($private)
		{
			//对fopUrl 进行签名,生成privateUrl。 公有bucket 此步可以省去。
			$getPolicy = new Qiniu_RS_GetPolicy();
			$imgViewUrl = $getPolicy->MakeRequest($imgViewUrl, null);
		}
		return $imgViewUrl;

	}
}
//end class qiniu

$q=new qiniu($accessKey,$secretKey);
$a=$q->bucket('supic')->info('bgpic.jpg');
var_dump($a);


你可能感兴趣的:(七牛API操作类)