本文整理汇总了PHP中Zend_Service_WindowsAzure_Storage_Blob::putBlob方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Service_WindowsAzure_Storage_Blob::putBlob方法的具体用法?PHP Zend_Service_WindowsAzure_Storage_Blob::putBlob怎么用?PHP Zend_Service_WindowsAzure_Storage_Blob::putBlob使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Service_WindowsAzure_Storage_Blob
的用法示例。
在下文中一共展示了Zend_Service_WindowsAzure_Storage_Blob::putBlob方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: storeItem
/**
* Store an item in the storage service.
* WARNING: This operation overwrites any item that is located at
* $destinationPath.
* @param string $destinationPath
* @param mixed $data
* @param array $options
* @return boolean
*/
public function storeItem($destinationPath, $data, $options = null)
{
// Create a temporary file that will be uploaded
$temporaryFilePath = '';
$removeTemporaryFilePath = false;
if (is_resource($data)) {
$temporaryFilePath = tempnam('', 'azr');
$fpDestination = fopen($temporaryFilePath, 'w');
$fpSource = $data;
rewind($fpSource);
while (!feof($fpSource)) {
fwrite($fpDestination, fread($fpSource, 8192));
}
fclose($fpDestination);
$removeTemporaryFilePath = true;
} elseif (file_exists($data)) {
$temporaryFilePath = $data;
$removeTemporaryFilePath = false;
} else {
$temporaryFilePath = tempnam('', 'azr');
file_put_contents($temporaryFilePath, $data);
$removeTemporaryFilePath = true;
}
try {
// Upload data
$this->_storageClient->putBlob($this->_container, $destinationPath, $temporaryFilePath);
} catch (Zend_Service_WindowsAzure_Exception $e) {
@unlink($temporaryFilePath);
throw new Zend_Cloud_StorageService_Exception('Error on store: ' . $e->getMessage(), $e->getCode(), $e);
}
if ($removeTemporaryFilePath) {
@unlink($temporaryFilePath);
}
}