Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
## CHANGE LOG

### v6.1.7

2014-2-19 issues [#64](https://github.com/qiniu/php-sdk/pull/64)

- 修复 PutExtra.Params 无效的问题

### v6.1.6

2014-2-17 issues [#62](https://github.com/qiniu/php-sdk/pull/62)
Expand Down
10 changes: 10 additions & 0 deletions qiniu/io.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@ function Qiniu_Put($upToken, $key, $body, $putExtra) // => ($putRet, $err)
if ($putExtra->CheckCrc) {
$fields['crc32'] = $putExtra->Crc32;
}
if ($putExtra->Params) {
foreach ($putExtra->Params as $k=>$v) {
$fields[$k] = $v;
}
}

$files = array(array('file', $fname, $body, $putExtra->MimeType));

Expand Down Expand Up @@ -66,6 +71,11 @@ function Qiniu_PutFile($upToken, $key, $localFile, $putExtra) // => ($putRet, $e
}
$fields['crc32'] = sprintf('%u', $putExtra->Crc32);
}
if ($putExtra->Params) {
foreach ($putExtra->Params as $k=>$v) {
$fields[$k] = $v;
}
}

$client = new Qiniu_HttpClient;
return Qiniu_Client_CallWithForm($client, $QINIU_UP_HOST, $fields, 'multipart/form-data');
Expand Down
6 changes: 6 additions & 0 deletions qiniu/resumable_io.php
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,12 @@ function Qiniu_Rio_Mkfile($self, $host, $key, $fsize, $extra) // => ($putRet, $e
$url .= '/mimeType/' . Qiniu_Encode($extra->MimeType);
}

if (!empty($extra->Params)) {
foreach ($extra->Params as $k=>$v) {
$url .= "/" . $k . "/" . Qiniu_Encode($v);
}
}

$ctxs = array();
foreach ($extra->Progresses as $prog) {
$ctxs []= $prog['ctx'];
Expand Down
9 changes: 7 additions & 2 deletions tests/IoTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,12 @@ public function testPutFile()
$putPolicy = new Qiniu_RS_PutPolicy($this->bucket);
$upToken = $putPolicy->Token(null);
$putExtra = new Qiniu_PutExtra();
$putExtra->Params = array('x:test'=>'test');
$putExtra->CheckCrc = 1;
list($ret, $err) = Qiniu_PutFile($upToken, $key, __file__, $putExtra);
$this->assertNull($err);
$this->assertArrayHasKey('hash', $ret);
$this->assertArrayHasKey('x:test', $ret);
var_dump($ret);

list($ret, $err) = Qiniu_RS_Stat($this->client, $this->bucket, $key);
Expand All @@ -43,9 +45,12 @@ public function testPut()

$putPolicy = new Qiniu_RS_PutPolicy($this->bucket);
$upToken = $putPolicy->Token(null);
list($ret, $err) = Qiniu_Put($upToken, $key, "hello world!", null);
$putExtra = new Qiniu_PutExtra();
$putExtra->Params = array('x:test'=>'test');
list($ret, $err) = Qiniu_Put($upToken, $key, "hello world!", $putExtra);
$this->assertNull($err);
$this->assertArrayHasKey('hash', $ret);
$this->assertArrayHasKey('x:test', $ret);
var_dump($ret);

list($ret, $err) = Qiniu_RS_Stat($this->client, $this->bucket, $key);
Expand Down Expand Up @@ -132,7 +137,7 @@ public function testPut_exclusive()
$this->assertNull($err);
list($ret, $err) = Qiniu_PutFile($upToken, $key, __file__, null);
$this->assertNull($ret);
$this->assertEquals($err->Err, 'file exists');
$this->assertEquals($err->Code, 614);
var_dump($err);

list($ret, $err) = Qiniu_RS_Stat($this->client, $this->bucket, $key);
Expand Down
4 changes: 4 additions & 0 deletions tests/RioTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,12 @@ public function testPut()
$putPolicy = new Qiniu_RS_PutPolicy($this->bucket);
$upToken = $putPolicy->Token(null);
$putExtra = new Qiniu_Rio_PutExtra($this->bucket);
$putExtra->Params = array('x:test'=>'test');
$reader = new MockReader;
list($ret, $err) = Qiniu_Rio_Put($upToken, $key, $reader, 5, $putExtra);
$this->assertNull($err);
$this->assertEquals($ret['hash'], "Fnvgeq9GDVk6Mj0Nsz2gW2S_3LOl");
$this->assertEquals($ret['x:test'], "test");
var_dump($ret);

list($ret, $err) = Qiniu_RS_Stat($this->client, $this->bucket, $key);
Expand All @@ -54,10 +56,12 @@ public function testLargePut()
$putPolicy = new Qiniu_RS_PutPolicy($this->bucket);
$upToken = $putPolicy->Token(null);
$putExtra = new Qiniu_Rio_PutExtra($this->bucket);
$putExtra->Params = array('x:test'=>'test');
$reader = new MockReader;
list($ret, $err) = Qiniu_Rio_Put($upToken, $key, $reader, QINIU_RIO_BLOCK_SIZE + 5, $putExtra);
$this->assertNull($err);
$this->assertEquals($ret['hash'], "lgQEOCZ8Ievliq8XOfZmWTndgOll");
$this->assertEquals($ret['x:test'], "test");
var_dump($ret);

list($ret, $err) = Qiniu_RS_Stat($this->client, $this->bucket, $key);
Expand Down