本文整理汇总了PHP中IOHelper::getWritableFilePermissions方法的典型用法代码示例。如果您正苦于以下问题:PHP IOHelper::getWritableFilePermissions方法的具体用法?PHP IOHelper::getWritableFilePermissions怎么用?PHP IOHelper::getWritableFilePermissions使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IOHelper
的用法示例。
在下文中一共展示了IOHelper::getWritableFilePermissions方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: cropAndSaveUserPhoto
/**
* Crop and save a user's photo by coordinates for a given user model.
*
* @param $source
* @param $x1
* @param $x2
* @param $y1
* @param $y2
* @param UserModel $user
* @return bool
* @throws \Exception
*/
public function cropAndSaveUserPhoto($source, $x1, $x2, $y1, $y2, UserModel $user)
{
$userPhotoFolder = craft()->path->getUserPhotosPath() . $user->username . '/';
$targetFolder = $userPhotoFolder . 'original/';
IOHelper::ensureFolderExists($userPhotoFolder);
IOHelper::ensureFolderExists($targetFolder);
$filename = IOHelper::getFileName($source);
$targetPath = $targetFolder . $filename;
$image = craft()->images->loadImage($source);
$image->crop($x1, $x2, $y1, $y2);
$result = $image->saveAs($targetPath);
if ($result) {
IOHelper::changePermissions($targetPath, IOHelper::getWritableFilePermissions());
$record = UserRecord::model()->findById($user->id);
$record->photo = $filename;
$record->save();
$user->photo = $filename;
return true;
}
return false;
}
示例2: setValue
/**
* Stores a value identified by a key in cache. This is the implementation of the method declared in the parent class.
*
* @param string $key The key identifying the value to be cached
* @param string $value The value to be cached
* @param integer $expire The number of seconds in which the cached value will expire. 0 means never expire.
* @return boolean true If the value is successfully stored into cache, false otherwise
*/
protected function setValue($key, $value, $expire)
{
if (!$this->_gced && mt_rand(0, 1000000) < $this->getGCProbability()) {
$this->gc();
$this->_gced = true;
}
if ($expire <= 0) {
$expire = 31536000;
// 1 year
}
$expire += time();
$cacheFile = $this->getCacheFile($key);
if ($this->directoryLevel > 0) {
IOHelper::createFolder(IOHelper::getFolderName($cacheFile), IOHelper::getWritableFolderPermissions());
}
if ($this->_originalKey == 'useWriteFileLock') {
if (IOHelper::writeToFile($cacheFile, $value, true, false, true) !== false) {
IOHelper::changePermissions($cacheFile, IOHelper::getWritableFilePermissions());
return IOHelper::touch($cacheFile, $expire);
} else {
return false;
}
} else {
if (IOHelper::writeToFile($cacheFile, $value) !== false) {
IOHelper::changePermissions($cacheFile, IOHelper::getWritableFilePermissions());
return IOHelper::touch($cacheFile, $expire);
} else {
return false;
}
}
}
示例3: _insertFileInFolder
/**
* Insert a file from path in folder.
*
* @param AssetFolderModel $folder
* @param $filePath
* @param $fileName
* @return AssetOperationResponseModel
* @throws Exception
*/
protected function _insertFileInFolder(AssetFolderModel $folder, $filePath, $fileName)
{
$targetFolder = $this->_getSourceFileSystemPath() . $folder->fullPath;
// Make sure the folder exists.
if (!IOHelper::folderExists($targetFolder)) {
throw new Exception(Craft::t('The “File System Path” specified for this asset source does not appear to exist.'));
}
// Make sure the folder is writable
if (!IOHelper::isWritable($targetFolder)) {
throw new Exception(Craft::t('Craft is not able to write to the “File System Path” specified for this asset source.'));
}
$fileName = IOHelper::cleanFilename($fileName);
$targetPath = $targetFolder . $fileName;
$extension = IOHelper::getExtension($fileName);
if (!IOHelper::isExtensionAllowed($extension)) {
throw new Exception(Craft::t('This file type is not allowed'));
}
if (IOHelper::fileExists($targetPath)) {
$response = new AssetOperationResponseModel();
return $response->setPrompt($this->_getUserPromptOptions($fileName))->setDataItem('fileName', $fileName);
}
if (!IOHelper::copyFile($filePath, $targetPath)) {
throw new Exception(Craft::t('Could not copy file to target destination'));
}
IOHelper::changePermissions($targetPath, IOHelper::getWritableFilePermissions());
$response = new AssetOperationResponseModel();
return $response->setSuccess()->setDataItem('filePath', $targetPath);
}