2017 © Pedro Peláez
 

library qiniu-php-sdk

QINIU SDK forked from qiniu/php-sdk

image

xjtuwangke/qiniu-php-sdk

QINIU SDK forked from qiniu/php-sdk

  • Wednesday, November 5, 2014
  • by xjtuwangke
  • Repository
  • 1 Watchers
  • 0 Stars
  • 80 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 0 Forks
  • 1 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

Qiniu Resource Storage SDK for PHP

Forked from https://github.com/qiniu/php-sdk/, (*1)

许可证

Copyright (c) 2012-2014 qiniu.com, (*2)

基于 MIT 协议发布:, (*3)

USAGE

First of all

  1. 设置access key和secret key
\Qiniu\Conf::$QINIU_ACCESS_KEY = 'access key';
\Qiniu\Conf::$QINIU_SECRET_KEY = 'secret key';
  1. setup a bucket
class MyBucket extends \QiniuAPI\QiniuBucket{

    /**
     * 七牛bucket的公共域名,比如bucket1.qiniudn.com或是bucket2.u.quniudn.com
     * @var string | null
     */
    protected static $domain = 'gofarms-dev.qiniudn.com';

    /**
     * 是否是私有bucket
     * @var bool
     */
    protected static $isPrivate = true;

    /**
     * bucket name
     * @var string|null
     */
    protected static $bucketName = 'gofarms-dev';

}

新建文件实例

$entry = MyBucket::entry( 'upload/ftp/gofarms-1/测试/qiniu_test.jpg' );

获取文件实例的'裸'URL, (*4)

$entry->url();

文件上传

  1. 单个文件上传, (*5)

    $put = MyBucket::put( __FILE__ , 'test/this.php' );
    // MyBucket::entry( 'test/this.php' )->put( __FILE__ );
    var_dump( $put );
    /*
    array (size=3)
    0 =>
    array (size=2)
      'hash' => string 'FgYSz1zq0d9mT5Nl_DkFGsuncYRy' (length=28)
      'key' => string 'test/this.php' (length=13)
    1 => null
    2 =>
    object(QiniuAPI\QiniuEntry)[9]
      protected 'bucket' =>
        object(MyBucket)[10]
      protected 'key' => string 'test/this.php' (length=13)
    */   
    
  2. 查看文件, (*6)

    $ls = MyBucket::ls( 'test/this.php' );
    //MyBucket::entry( 'test/this.php' )->ls();
    var_dump( $ls );
    /*
    array (size=2)
    0 =>
    array (size=4)
      'fsize' => int 1872
      'hash' => string 'FkYSYaJKtvKUwrOQk0D4RqFAIj3W' (length=28)
      'mimeType' => string 'application/x-httpd-php' (length=23)
      'putTime' => int 14152138860482670
    1 => null
    */
    

    $ls = MyBucket::ls( 'no-file' ); //MyBucket::entry( 'no-file' )->ls(); var_dump( $ls ); /* array (size=2) 0 => null 1 => object(Qiniu\QiniuError)[12] public 'Err' => string 'no such file or directory' (length=25) public 'Reqid' => string 'Dl0AAKrY2CCI2aMT' (length=16) public 'Details' => string '' (length=0) public 'Code' => int 612 */, (*7)

  3. 删除文件, (*8)

    $rm = MyBucket::delete( 'no-file' );
    //or $rm = MyBucket::entry( 'no-file' )->delete();
    var_dump( $rm );
    /*
    array (size=2)
    0 => boolean false
    1 =>
    object(Qiniu\QiniuError)[11]
      public 'Err' => string 'no such file or directory' (length=25)
      public 'Reqid' => string '10MAAGhE77nY2aMT' (length=16)
      public 'Details' => string '' (length=0)
      public 'Code' => int 612
    */
    
    $rm = MyBucket::delete( 'test/this.php' );
    //or $rm = MyBucket::entry( 'test/this.php' )->delete();
    var_dump( $rm );
    /*
    array (size=2)
    0 => boolean true
    1 => null
    */
    
  4. 移动和复制, (*9)

    $put = MyBucket::put( __FILE__ , 'test/this.php' );
    MyBucket::delete( 'test/that.php' );
    MyBucket::delete( 'test/that1.php' );
    MyBucket::delete( 'test/that2.php' );
    MyBucket::delete( 'test/that3.php' );
    $copy = MyBucket::entry( 'test/this.php' )->copy( MyBucket::entry( 'test/that.php' ) );
    var_dump( $copy );
    $copy = MyBucket::move( 'test/this.php' , MyBucket::entry( 'test/that.php' ) );
    var_dump( $copy );
    $move = MyBucket::entry( 'test/this.php' )->move( MyBucket::entry( 'test/that2.php') );
    var_dump( $move );
    $move = MyBucket::move( 'test/this.php' , MyBucket::entry( 'test/that3.php') );
    var_dump( $move );
    

    返回, (*10)

    array (size=2)
    0 => boolean true
    1 => null
    array (size=2)
    0 => boolean false
    1 =>
      object(Qiniu\QiniuError)[11]
        public 'Err' => string 'file exists' (length=11)
        public 'Reqid' => string 'ak0AAPG88grG36MT' (length=16)
        public 'Details' => string '' (length=0)
        public 'Code' => int 614
    array (size=2)
    0 => boolean true
    1 => null
    array (size=2)
    0 => boolean false
    1 =>
      object(Qiniu\QiniuError)[12]
        public 'Err' => string 'no such file or directory' (length=25)
        public 'Reqid' => string '10MAAIK-MhzG36MT' (length=16)
        public 'Details' => string '' (length=0)
        public 'Code' => int 612
    

宏命令

\QiniuAPI\QiniuFop::marco( 'watermark' , function( \QiniuAPI\QiniuEntry $entry ){
    $watermark = new \QiniuAPI\Watermark\Watermark();
    $image1 = new \QiniuAPI\Watermark\Image();
    $gravity1 = new \QiniuAPI\Watermark\Gravity();
    $gravity1->gravity( \QiniuAPI\Watermark\Gravity::Gravity3 )->dx( 20 )->dy( 25 );
    $image1->gravity( $gravity1 )->imageUrl( 'http://www.baidu.com/img/baidu_jgylogo3.gif' )->dissolve( 50 );
    $watermark->addParameter( $image1 );
    return $entry->url( [ $watermark ] );
});
$watermarked = \QiniuAPI\QiniuFop::watermark( MyBucket::entry( 'upload/ftp/gofarms-1/测试/qiniu_test.jpg' ) );
\QiniuAPI\Avthumb\Avthumb::marco( 'basic' , function(){
    $avthumb = new \QiniuAPI\Avthumb\Avthumb();
    $avthumb->format('mp4')->audioBitRate( '192k' )->audioSamplingRate( 8000 )->videoFrameRate( 24 );
    return $avthumb;
});
$basicThumb = \QiniuAPI\Avthumb\Avthumb::basic();
echo $basicThumb;
//avthumb/mp4/ab/192k/ar/8000/r/24/vb/128k
//usage:: $url = MyBucket::entry( 'somevideo.mp4' )->url( [ \QiniuAPI\Avthumb\Avthumb::basic() ] );

图像处理

  1. 水印接口watermark, (*11)

    ``` $watermark = new \QiniuAPI\Watermark\Watermark(); $image1 = new \QiniuAPI\Watermark\Image(); $gravity1 = new \QiniuAPI\Watermark\Gravity(); $gravity1->gravity( \QiniuAPI\Watermark\Gravity::Gravity3 )->dx( 20 )->dy( 25 ); $image1->gravity( $gravity1 )->imageUrl( 'http://www.baidu.com/img/baidu_jgylogo3.gif' )->dissolve( 50 ); $text2 = new \QiniuAPI\Watermark\Text(); $gravity2 = new \QiniuAPI\Watermark\Gravity(); $gravity2->gravity( \QiniuAPI\Watermark\Gravity::Gravity9 )->dx( 21 )->dy( 22 ); $text2->gravity( $gravity2 )->text( '测试文字' )->font( '楷体' )->fontSize( 40 )->fill( '#FFFFFF' )->dissolve( 51 ); $watermark->addParameter( $image1 )->addParameter( $text2 );
    $url = MyBucket::entry( 'upload/ftp/gofarms-1/测试/qiniu_test.jpg' )->url( [ $watermark ] );, (*12)



1. 基本图片处理[ImageView2](http://developer.qiniu.com/docs/v6/api/reference/fop/image/imageview2.html) ``` $imageView2 = new ImageView2(); $imageView2->widthAndHeight( 200 ,100 )->format( 'jpg' )->interlace( true ); $url = MyBucket::entry( 'upload/ftp/gofarms-1/测试/qiniu_test.jpg' )->url( [ $imageView2 ] ); ``` 3. 高级图片处理[imageMogr2](http://developer.qiniu.com/docs/v6/api/reference/fop/image/imagemogr2.html) ``` $imageMog2 = new ImageMogr2(); $quality = new \QiniuAPI\ImageMogr2\Quality(); $blur = new \QiniuAPI\ImageMogr2\Blur(); $format = new \QiniuAPI\ImageMogr2\Format(); $interlace = new \QiniuAPI\ImageMogr2\Interlace(); $rotate = new \QiniuAPI\ImageMogr2\Rotate(); $thumbnail = new \QiniuAPI\ImageMogr2\Thumbnail(); $crop = new \QiniuAPI\ImageMogr2\Crop(); $imageMog2 ->addParameter( $thumbnail->keepRatio()->maxWidthAndHeight( 300 , 200 ) ) ->addParameter( $crop->gravity( \QiniuAPI\ImageMogr2\Crop::Gravity3 )->cropSize( 100 , 150 )->dx( -2 )->dy( 3 ) ) ->addParameter( $quality->quality( 90 ) ) ->addParameter( $blur->radius( 20 )->sigma( 3 ) ) ->addParameter( $format->format( 'jpg' ) ) ->addParameter( $interlace->enable() ) ->addParameter( $rotate->degree( 90 ) ); $url = MyBucket::entry( 'upload/ftp/gofarms-1/测试/qiniu_test.jpg' )->url( [ $imageMog2 ] );
  1. 图片基本信息imageInfo, (*13)

    ``` $infoArray = MyBucket::entry( 'upload/ftp/gofarms-1/测试/qiniu_test.jpg' )->imageInfo();, (*14)


5. 图片exif信息[exif](http://developer.qiniu.com/docs/v6/api/reference/fop/image/exif.html) ``` $infoArray = MyBucket::entry( 'upload/ftp/gofarms-1/测试/qiniu_test.jpg' )->exif();
  1. 图片主色调imageAve, (*15)

    ``` $infoArray = MyBucket::entry( 'upload/ftp/gofarms-1/测试/qiniu_test.jpg' )->imageAve();, (*16)


### 音视频 1. Avthumb \QiniuAPI\VFrame\VFrame \QiniuAPI\Avthumb\Avthumb 其余TBD ``` $avthumb = new \QiniuAPI\Avthumb\Avthumb(); $avthumb->format('mp4')->audioBitRate( '192k' )->audioSamplingRate( 8000 )->videoFrameRate( 24 );

The Versions

05/11 2014

dev-master

9999999-dev

QINIU SDK forked from qiniu/php-sdk

  Sources   Download

MIT

The Requires

  • php >=5.4

 

by wangke