当前位置: 首页>>代码示例>>PHP>>正文


PHP Folder::write方法代码示例

本文整理汇总了PHP中Folder::write方法的典型用法代码示例。如果您正苦于以下问题:PHP Folder::write方法的具体用法?PHP Folder::write怎么用?PHP Folder::write使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Folder的用法示例。


在下文中一共展示了Folder::write方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: find_or_make

 /**
  * Find the given folder or create it both as {@link Folder} database records
  * and on the filesystem. If necessary, creates parent folders as well.
  * 
  * @param $folderPath string Absolute or relative path to the file.
  *  If path is relative, its interpreted relative to the "assets/" directory.
  * @return Folder
  */
 public static function find_or_make($folderPath)
 {
     // Create assets directory, if it is missing
     if (!file_exists(ASSETS_PATH)) {
         Filesystem::makeFolder(ASSETS_PATH);
     }
     $folderPath = trim(Director::makeRelative($folderPath));
     // replace leading and trailing slashes
     $folderPath = preg_replace('/^\\/?(.*)\\/?$/', '$1', $folderPath);
     $parts = explode("/", $folderPath);
     $parentID = 0;
     $item = null;
     foreach ($parts as $part) {
         if (!$part) {
             continue;
         }
         // happens for paths with a trailing slash
         $item = DataObject::get_one("Folder", sprintf("\"Name\" = '%s' AND \"ParentID\" = %d", Convert::raw2sql($part), (int) $parentID));
         if (!$item) {
             $item = new Folder();
             $item->ParentID = $parentID;
             $item->Name = $part;
             $item->Title = $part;
             $item->write();
         }
         if (!file_exists($item->getFullPath())) {
             Filesystem::makeFolder($item->getFullPath());
         }
         $parentID = $item->ID;
     }
     return $item;
 }
开发者ID:prostart,项目名称:cobblestonepath,代码行数:40,代码来源:Folder.php

示例2: find_or_make

 /**
  * Find the given folder or create it as a database record
  *
  * @param string $folderPath Directory path relative to assets root
  * @return Folder|null
  */
 public static function find_or_make($folderPath)
 {
     // replace leading and trailing slashes
     $folderPath = preg_replace('/^\\/?(.*)\\/?$/', '$1', trim($folderPath));
     $parts = explode("/", $folderPath);
     $parentID = 0;
     $item = null;
     $filter = FileNameFilter::create();
     foreach ($parts as $part) {
         if (!$part) {
             continue;
             // happens for paths with a trailing slash
         }
         // Ensure search includes folders with illegal characters removed, but
         // err in favour of matching existing folders if $folderPath
         // includes illegal characters itself.
         $partSafe = $filter->filter($part);
         $item = Folder::get()->filter(array('ParentID' => $parentID, 'Name' => array($partSafe, $part)))->first();
         if (!$item) {
             $item = new Folder();
             $item->ParentID = $parentID;
             $item->Name = $partSafe;
             $item->Title = $part;
             $item->write();
         }
         $parentID = $item->ID;
     }
     return $item;
 }
开发者ID:ivoba,项目名称:silverstripe-framework,代码行数:35,代码来源:Folder.php

示例3: testWritingSubsiteID

 function testWritingSubsiteID()
 {
     $this->objFromFixture('Member', 'admin')->logIn();
     $subsite = $this->objFromFixture('Subsite', 'domaintest1');
     FileSubsites::$default_root_folders_global = true;
     Subsite::changeSubsite(0);
     $file = new File();
     $file->write();
     $file->onAfterUpload();
     $this->assertEquals((int) $file->SubsiteID, 0);
     Subsite::changeSubsite($subsite->ID);
     $this->assertTrue($file->canEdit());
     $file = new File();
     $file->write();
     $this->assertEquals((int) $file->SubsiteID, 0);
     $this->assertTrue($file->canEdit());
     FileSubsites::$default_root_folders_global = false;
     Subsite::changeSubsite($subsite->ID);
     $file = new File();
     $file->write();
     $this->assertEquals($file->SubsiteID, $subsite->ID);
     // Test inheriting from parent folder
     $folder = new Folder();
     $folder->write();
     $this->assertEquals($folder->SubsiteID, $subsite->ID);
     FileSubsites::$default_root_folders_global = true;
     $file = new File();
     $file->ParentID = $folder->ID;
     $file->onAfterUpload();
     $this->assertEquals($folder->SubsiteID, $file->SubsiteID);
 }
开发者ID:hafriedlander,项目名称:silverstripe-config-experiment,代码行数:31,代码来源:FileSubsitesTest.php

示例4: testCreateFromNameAndParentIDSetsFilename

 public function testCreateFromNameAndParentIDSetsFilename()
 {
     $folder1 = $this->objFromFixture('Folder', 'folder1');
     $newFolder = new Folder();
     $newFolder->Name = 'CreateFromNameAndParentID';
     $newFolder->ParentID = $folder1->ID;
     $newFolder->write();
     $this->assertEquals($folder1->Filename . 'CreateFromNameAndParentID/', $newFolder->Filename);
 }
开发者ID:ivoba,项目名称:silverstripe-framework,代码行数:9,代码来源:FolderTest.php

示例5: findOrMake

 static function findOrMake($folder)
 {
     $parts = explode("/", $folder);
     $parentID = 0;
     foreach ($parts as $part) {
         $item = DataObject::get_one("Folder", "Name = '{$part}' AND ParentID = {$parentID}");
         if (!$item) {
             $item = new Folder();
             $item->ParentID = $parentID;
             $item->Name = $part;
             $item->Title = $part;
             $item->write();
             if (!file_exists($item->getFullPath())) {
                 mkdir($item->getFullPath(), Filesystem::$folder_create_mask);
             }
         }
         $parentID = $item->ID;
     }
     return $item;
 }
开发者ID:ramziammar,项目名称:websites,代码行数:20,代码来源:Folder.php

示例6: findOrMake

	static function findOrMake($folderPath) {
		$folderPath = trim(Director::makeRelative($folderPath));
		// replace leading and trailing slashes
		$folderPath = preg_replace('/^\/?(.*)\/?$/', '$1', $folderPath);
		
		$parts = explode("/",$folderPath);
		$parentID = 0;

		foreach($parts as $part) {
			$item = DataObject::get_one("Folder", "Name = '$part' AND ParentID = $parentID");
			if(!$item) {
				$item = new Folder();
				$item->ParentID = $parentID;
				$item->Name = $part;
				$item->Title = $part;
				$item->write();
				if(!file_exists($item->getFullPath())) mkdir($item->getFullPath(),Filesystem::$folder_create_mask);
			}
			$parentID = $item->ID;
		}
		return $item;
	}
开发者ID:neopba,项目名称:silverstripe-book,代码行数:22,代码来源:Folder.php

示例7: addfolder

 /**
  * Add a new folder and return its details suitable for ajax.
  */
 public function addfolder($request)
 {
     // Protect against CSRF on destructive action
     if (!SecurityToken::inst()->checkRequest($request)) {
         return $this->httpError(400);
     }
     $parent = $_REQUEST['ParentID'] && is_numeric($_REQUEST['ParentID']) ? (int) $_REQUEST['ParentID'] : 0;
     $name = isset($_REQUEST['Name']) ? basename($_REQUEST['Name']) : _t('AssetAdmin.NEWFOLDER', "NewFolder");
     if ($parent) {
         $parentObj = DataObject::get_by_id('File', $parent);
         if (!$parentObj || !$parentObj->ID) {
             $parent = 0;
         }
     }
     // Get the folder to be created
     if (isset($parentObj->ID)) {
         $filename = $parentObj->FullPath . $name;
     } else {
         $filename = ASSETS_PATH . '/' . $name;
     }
     // Actually create
     if (!file_exists(ASSETS_PATH)) {
         mkdir(ASSETS_PATH);
     }
     $p = new Folder();
     $p->ParentID = $parent;
     $p->Name = $p->Title = basename($filename);
     // Ensure uniqueness
     $i = 2;
     $baseFilename = substr($p->Filename, 0, -1) . '-';
     while (file_exists($p->FullPath)) {
         $p->Filename = $baseFilename . $i . '/';
         $i++;
     }
     $p->write();
     mkdir($p->FullPath);
     chmod($p->FullPath, Filesystem::$file_create_mask);
     if (isset($_REQUEST['returnID'])) {
         return $p->ID;
     } else {
         return $this->returnItemToUser($p);
     }
 }
开发者ID:comperio,项目名称:silverstripe-cms,代码行数:46,代码来源:AssetAdmin.php

示例8: doAdd

 /**
  * Add a new group and return its details suitable for ajax.
  * 
  * @todo Move logic into Folder class, and use LeftAndMain->doAdd() default implementation.
  */
 public function doAdd($data, $form)
 {
     $class = $this->stat('tree_class');
     // check create permissions
     if (!singleton($class)->canCreate()) {
         return Security::permissionFailure($this);
     }
     // check addchildren permissions
     if (singleton($class)->hasExtension('Hierarchy') && isset($data['ParentID']) && is_numeric($data['ParentID']) && $data['ParentID']) {
         $parentRecord = DataObject::get_by_id($class, $data['ParentID']);
         if ($parentRecord->hasMethod('canAddChildren') && !$parentRecord->canAddChildren()) {
             return Security::permissionFailure($this);
         }
     } else {
         $parentRecord = null;
     }
     $parent = isset($data['ParentID']) && is_numeric($data['ParentID']) ? (int) $data['ParentID'] : 0;
     $name = isset($data['Name']) ? basename($data['Name']) : _t('AssetAdmin.NEWFOLDER', "NewFolder");
     if (!$parentRecord || !$parentRecord->ID) {
         $parent = 0;
     }
     // Get the folder to be created
     if ($parentRecord && $parentRecord->ID) {
         $filename = $parentRecord->FullPath . $name;
     } else {
         $filename = ASSETS_PATH . '/' . $name;
     }
     // Actually create
     if (!file_exists(ASSETS_PATH)) {
         mkdir(ASSETS_PATH);
     }
     $record = new Folder();
     $record->ParentID = $parent;
     $record->Name = $record->Title = basename($filename);
     // Ensure uniqueness
     $i = 2;
     $baseFilename = substr($record->Filename, 0, -1) . '-';
     while (file_exists($record->FullPath)) {
         $record->Filename = $baseFilename . $i . '/';
         $i++;
     }
     $record->Name = $record->Title = basename($record->Filename);
     $record->write();
     mkdir($record->FullPath);
     chmod($record->FullPath, Filesystem::config()->file_create_mask);
     if ($parentRecord) {
         return $this->redirect(Controller::join_links($this->Link('show'), $parentRecord->ID));
     } else {
         return $this->redirect($this->Link());
     }
 }
开发者ID:miamollie,项目名称:echoAerial,代码行数:56,代码来源:AssetAdmin.php

示例9: newfolder

 /**
  * Creates a new folder at the level of {@link KickAssetAdmin::$currentFolder}
  *
  * @param SS_HTTPRequest
  * @return SS_HTTPResponse
  */
 public function newfolder(SS_HTTPRequest $r)
 {
     $f = new Folder();
     $f->ParentID = $this->currentFolder ? $this->currentFolder->ID : 0;
     $f->Name = "New-Folder";
     $f->Title = "New-Folder";
     $f->write();
     if (!file_exists($f->getFullPath())) {
         Filesystem::makeFolder($f->getFullPath());
     }
     return $this->browse($r);
 }
开发者ID:heyday,项目名称:KickAssets,代码行数:18,代码来源:KickAssetAdmin.php

示例10: find_or_make_secured

 /**
  * Find the given folder or create it both as {@link Folder} database record
  * and on the filesystem. If necessary, creates parent folders as well. If it's
  * unable to find or make the folder, it will return null (as /assets is unable
  * to be represented by a Folder {@link DataObject}).
  *
  * @param string $folderPath    Absolute or relative path to the file.
  *                              If path is relative, it's interpreted relative 
  *                              to the "assets/" directory.
  * @return Folder | null
  */
 public static function find_or_make_secured($folderPath)
 {
     // Create assets directory, if it is missing
     if (!file_exists(ASSETS_PATH)) {
         Filesystem::makeFolder(ASSETS_PATH);
     }
     $folderPath = trim(Director::makeRelative($folderPath));
     // replace leading and trailing slashes
     $folderPath = preg_replace('/^\\/?(.*)\\/?$/', '$1', $folderPath);
     $parts = explode("/", $folderPath);
     $parentID = 0;
     $item = null;
     $filter = FileNameFilter::create();
     foreach ($parts as $part) {
         if (!$part) {
             continue;
             // happens for paths with a trailing slash
         }
         // Ensure search includes folders with illegal characters removed, but
         // err in favour of matching existing folders if $folderPath
         // includes illegal characters itself.
         $partSafe = $filter->filter($part);
         $item = Folder::get()->filter(array('ParentID' => $parentID, 'Name' => array($partSafe, $part), 'CanViewType' => 'Anyone', 'CanEditType' => 'LoggedInUsers'))->first();
         if (!$item) {
             $item = new Folder();
             $item->ParentID = $parentID;
             $item->Name = $partSafe;
             $item->Title = $part;
             $item->Secured = true;
             $item->write();
             // when initial the secured root folder, set its CanViewType to be
             if (!$parentID) {
                 $item->CanViewType = 'Anyone';
                 $item->CanEditType = 'LoggedInUsers';
             }
         }
         if (!file_exists($item->getFullPath())) {
             Filesystem::makeFolder($item->getFullPath());
         }
         $parentID = $item->ID;
     }
     return $item;
 }
开发者ID:helpfulrobot,项目名称:deviateltd-silverstripe-advancedassets,代码行数:54,代码来源:FileSecured.php

示例11: createUploadFolder

 /**
  * Creates the upload folder for payment images if it doesn't exist.
  *
  * @return void
  *
  * @author Sebastian Diel <sdiel@pixeltricks.de>,
  *         Sascha Koehler <skoehler@pixeltricks.de>
  * @since 16.06.2014
  */
 public function createUploadFolder()
 {
     $uploadsFolder = Folder::get()->filter('Name', 'Uploads')->first();
     if (!$uploadsFolder) {
         $uploadsFolder = new Folder();
         $uploadsFolder->Name = 'Uploads';
         $uploadsFolder->Title = 'Uploads';
         $uploadsFolder->Filename = 'assets/Uploads/';
         $uploadsFolder->write();
     }
     $this->uploadsFolder = $uploadsFolder;
 }
开发者ID:silvercart,项目名称:silvercart,代码行数:21,代码来源:SilvercartPaymentMethod.php

示例12: addfolder

 /**
  * Add a new folder and return its details suitable for ajax.
  */
 public function addfolder()
 {
     $parent = $_REQUEST['ParentID'] && is_numeric($_REQUEST['ParentID']) ? (int) $_REQUEST['ParentID'] : 0;
     $name = isset($_REQUEST['Name']) ? basename($_REQUEST['Name']) : _t('AssetAdmin.NEWFOLDER', "NewFolder");
     if ($parent) {
         $parentObj = DataObject::get_by_id('File', $parent);
         if (!$parentObj || !$parentObj->ID) {
             $parent = 0;
         }
     }
     // Get the folder to be created
     if (isset($parentObj->ID)) {
         $filename = $parentObj->FullPath . $name;
     } else {
         $filename = ASSETS_PATH . '/' . $name;
     }
     // Ensure uniqueness
     $i = 2;
     $baseFilename = $filename . '-';
     while (file_exists($filename)) {
         $filename = $baseFilename . $i;
         $i++;
     }
     // Actually create
     if (!file_exists(ASSETS_PATH)) {
         mkdir(ASSETS_PATH);
     }
     mkdir($filename);
     chmod($filename, Filesystem::$file_create_mask);
     // Create object
     $p = new Folder();
     $p->ParentID = $parent;
     $p->Name = $p->Title = basename($filename);
     $p->write();
     if (isset($_REQUEST['returnID'])) {
         return $p->ID;
     } else {
         return $this->returnItemToUser($p);
     }
 }
开发者ID:racontemoi,项目名称:shibuichi,代码行数:43,代码来源:AssetAdmin.php


注:本文中的Folder::write方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。