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


PHP OC_Filesystem类代码示例

本文整理汇总了PHP中OC_Filesystem的典型用法代码示例。如果您正苦于以下问题:PHP OC_Filesystem类的具体用法?PHP OC_Filesystem怎么用?PHP OC_Filesystem使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: getThumbnail

 public function getThumbnail($path)
 {
     $gallery_path = \OCP\Config::getSystemValue('datadirectory') . '/' . \OC_User::getUser() . '/gallery';
     if (file_exists($gallery_path . $path)) {
         return new \OC_Image($gallery_path . $path);
     }
     if (!\OC_Filesystem::file_exists($path)) {
         \OC_Log::write(self::TAG, 'File ' . $path . ' don\'t exists', \OC_Log::WARN);
         return false;
     }
     $image = new \OC_Image();
     $image->loadFromFile(\OC_Filesystem::getLocalFile($path));
     if (!$image->valid()) {
         return false;
     }
     $image->fixOrientation();
     $ret = $image->preciseResize(floor(150 * $image->width() / $image->height()), 150);
     if (!$ret) {
         \OC_Log::write(self::TAG, 'Couldn\'t resize image', \OC_Log::ERROR);
         unset($image);
         return false;
     }
     $image->save($gallery_path . '/' . $path);
     return $image;
 }
开发者ID:jaeindia,项目名称:ownCloud-Enhancements,代码行数:25,代码来源:managers.php

示例2: getThumbnail

 public static function getThumbnail($image_name, $owner = null)
 {
     if (!$owner) {
         $owner = OCP\USER::getUser();
     }
     $save_dir = OCP\Config::getSystemValue("datadirectory") . '/' . $owner . '/gallery/';
     $save_dir .= dirname($image_name) . '/';
     $image_path = $image_name;
     $thumb_file = $save_dir . basename($image_name);
     if (!is_dir($save_dir)) {
         mkdir($save_dir, 0777, true);
     }
     if (file_exists($thumb_file)) {
         $image = new OC_Image($thumb_file);
     } else {
         $image_path = OC_Filesystem::getLocalFile($image_path);
         if (!file_exists($image_path)) {
             return null;
         }
         $image = new OC_Image($image_path);
         if ($image->valid()) {
             $image->centerCrop(200);
             $image->fixOrientation();
             $image->save($thumb_file);
         }
     }
     if ($image->valid()) {
         return $image;
     } else {
         $image->destroy();
     }
     return null;
 }
开发者ID:jaeindia,项目名称:ownCloud-Enhancements,代码行数:33,代码来源:photo.php

示例3: search

 function search($query)
 {
     $files = OC_Filesystem::search($query);
     $results = array();
     foreach ($files as $file) {
         if (OC_Filesystem::is_dir($file)) {
             $results[] = new OC_Search_Result(basename($file), '', OC_Helper::linkTo('files', 'index.php?dir=' . $file), 'Files');
         } else {
             $mime = OC_Filesystem::getMimeType($file);
             $mimeBase = substr($mime, 0, strpos($mime, '/'));
             switch ($mimeBase) {
                 case 'audio':
                     break;
                 case 'text':
                     $results[] = new OC_Search_Result(basename($file), '', OC_Helper::linkTo('files', 'download.php?file=' . $file), 'Text');
                     break;
                 case 'image':
                     $results[] = new OC_Search_Result(basename($file), '', OC_Helper::linkTo('files', 'download.php?file=' . $file), 'Images');
                     break;
                 default:
                     if ($mime == 'application/xml') {
                         $results[] = new OC_Search_Result(basename($file), '', OC_Helper::linkTo('files', 'download.php?file=' . $file), 'Text');
                     } else {
                         $results[] = new OC_Search_Result(basename($file), '', OC_Helper::linkTo('files', 'download.php?file=' . $file), 'Files');
                     }
             }
         }
     }
     return $results;
 }
开发者ID:Teino1978-Corp,项目名称:Teino1978-Corp-owncloud_.htaccess-,代码行数:30,代码来源:owncloud_lib_search_provider_file.php

示例4: create_execution_env

/**
 * 
 * @param type $study_name the name of the study directory
 * @return the job id
 */
function create_execution_env($study_name, $script_name)
{
    include 'config.inc.php';
    $jobid = create_job_id($study_name, $script_name);
    $job_dir = get_job_exec_dir($jobid);
    while (is_dir($job_dir)) {
        // the sandbox directory is already existing, sleep 1 second and generate another ID
        sleep(1);
        $jobid = create_job_id($study_name, $script_name);
        $job_dir = get_job_exec_dir($jobid);
    }
    mkdir($job_dir, 0777, true);
    // [job_root_dir]/[job_id]/data --> ../../data/[fs_root]/[study_name]/data
    $datadir = $NC_CONFIG["symlink_prefix"] . "/" . $study_name . "/data";
    $pipelinedir = get_absolute_path($study_name . "/pipeline");
    $resultsdir = $NC_CONFIG["symlink_prefix"] . "/" . $study_name . "/results/" . $jobid;
    OC_Filesystem::mkdir("{$study_name}/results/{$jobid}");
    # le dir /data e /results sono link simbolici alle vere directory del caso di studio
    mkdir($job_dir . "/pipeline");
    symlink($datadir, $job_dir . "/data");
    symlink($resultsdir, $job_dir . "/results");
    # creo il file in cui verrà rediretto lo standard output
    $date = date("Y-m-d H:i:s");
    OC_Filesystem::file_put_contents(get_job_output_file($study_name, $jobid), "Standard output for job {$jobid}, run at {$date}\n");
    $jobinfo = array("jobid" => $jobid, "study" => $study_name);
    save_job_info($study_name, $jobid, $jobinfo);
    # copia gli script del caso di studio nella pipeline
    copy_dir($pipelinedir, $job_dir . "/pipeline");
    return $jobid;
}
开发者ID:v-iacovella,项目名称:NeuroBox,代码行数:35,代码来源:execute.php

示例5: compressTarget

 /**
  * Compress File or Folder
  * @param $target The target to compress
  * @return Boolean  
  */
 public static function compressTarget($target)
 {
     $oc_target = OC::$CONFIG_DATADIRECTORY . $target;
     if (OC_Filesystem::is_file($target)) {
         $fileinfo = pathinfo($oc_target);
         $archiveName = $fileinfo['filename'];
         $dirTarget = $fileinfo['dirname'];
     } else {
         $archiveName = basename($oc_target);
         $dirTarget = dirname($oc_target);
     }
     $archiveName .= '.zip';
     if (file_exists($dirTarget . '/' . $archiveName)) {
         $archiveName = md5(rand()) . '_' . $archiveName;
     }
     $zip = new ZipArchive();
     if ($zip->open($dirTarget . '/' . $archiveName, ZipArchive::CREATE) === TRUE) {
         if (!is_dir($oc_target)) {
             $zip->addFile($oc_target, basename($oc_target));
         } else {
             self::addFolderToZip($oc_target, $zip, basename($oc_target) . '/');
         }
     }
     $zip->close();
 }
开发者ID:blablubli,项目名称:owncloudapps,代码行数:30,代码来源:zip.class.php

示例6: thumb

function thumb($path)
{
    $thumb_path = \OCP\Config::getSystemValue('datadirectory') . '/' . \OC_User::getUser() . '/reader';
    if (file_exists($thumb_path . $path)) {
        return new \OC_Image($thumb_path . $path);
    }
    if (!\OC_Filesystem::file_exists($path)) {
        return false;
    }
}
开发者ID:netcon-source,项目名称:apps,代码行数:10,代码来源:thumbnail.php

示例7: testSimple

 public function testSimple()
 {
     $file = OC::$SERVERROOT . '/3rdparty/MDB2.php';
     $original = file_get_contents($file);
     OC_Filesystem::file_put_contents('/file', $original);
     OC_FileProxy::$enabled = false;
     $stored = OC_Filesystem::file_get_contents('/file');
     OC_FileProxy::$enabled = true;
     $fromFile = OC_Filesystem::file_get_contents('/file');
     $this->assertNotEqual($original, $stored);
     $this->assertEqual($original, $fromFile);
 }
开发者ID:jaeindia,项目名称:ownCloud-Enhancements,代码行数:12,代码来源:proxy.php

示例8: getPresentations

 public static function getPresentations()
 {
     $presentations = array();
     $list = \OC_FileCache::searchByMime('application', 'zip');
     foreach ($list as $l) {
         $info = pathinfo($l);
         $size = \OC_Filesystem::filesize($l);
         $mtime = \OC_Filesystem::filemtime($l);
         $entry = array('url' => $l, 'name' => $info['filename'], 'size' => $size, 'mtime' => $mtime);
         $presentations[] = $entry;
     }
     return $presentations;
 }
开发者ID:netcon-source,项目名称:apps,代码行数:13,代码来源:impressionist.php

示例9: checkQuota

 /**
  * This method is called before any HTTP method and forces users to be authenticated
  *
  * @param string $method
  * @throws Sabre_DAV_Exception
  * @return bool
  */
 public function checkQuota($uri, $data = null)
 {
     $expected = $this->server->httpRequest->getHeader('X-Expected-Entity-Length');
     $length = $expected ? $expected : $this->server->httpRequest->getHeader('Content-Length');
     if ($length) {
         if (substr($uri, 0, 1) !== '/') {
             $uri = '/' . $uri;
         }
         list($parentUri, $newName) = Sabre_DAV_URLUtil::splitPath($uri);
         if ($length > OC_Filesystem::free_space($parentUri)) {
             throw new Sabre_DAV_Exception('Quota exceeded. File is too big.');
         }
     }
     return true;
 }
开发者ID:ryanshoover,项目名称:core,代码行数:22,代码来源:quotaplugin.php

示例10: createDataScope

 public static function createDataScope($appUrl, $userAddress, $dataScope)
 {
     $token = uniqid();
     self::addToken($token, $appUrl, $userAddress, $dataScope);
     //TODO: input checking on $userAddress and $dataScope
     list($userName, $userHost) = explode('@', $userAddress);
     OC_Util::setupFS(OC_User::getUser());
     $scopePathParts = array('remoteStorage', 'webdav', $userHost, $userName, $dataScope);
     for ($i = 0; $i <= count($scopePathParts); $i++) {
         $thisPath = '/' . implode('/', array_slice($scopePathParts, 0, $i));
         if (!OC_Filesystem::file_exists($thisPath)) {
             OC_Filesystem::mkdir($thisPath);
         }
     }
     return $token;
 }
开发者ID:Teino1978-Corp,项目名称:Teino1978-Corp-owncloud_.htaccess-,代码行数:16,代码来源:owncloud_apps_remoteStorage_lib_remoteStorage.php

示例11: getID

function getID($path)
{
    // use the share table from the db to find the item source if the file was reshared because shared files
    //are not stored in the file cache.
    if (substr(OC_Filesystem::getMountPoint($path), -7, 6) == "Shared") {
        $path_parts = explode('/', $path, 5);
        $user = $path_parts[1];
        $intPath = '/' . $path_parts[4];
        $query = \OC_DB::prepare('SELECT `item_source` FROM `*PREFIX*share` WHERE `uid_owner` = ? AND `file_target` = ? ');
        $result = $query->execute(array($user, $intPath));
        $row = $result->fetchRow();
        $fileSource = $row['item_source'];
    } else {
        $fileSource = OC_Filecache::getId($path, '');
    }
    return $fileSource;
}
开发者ID:ryanshoover,项目名称:core,代码行数:17,代码来源:public.php

示例12: createCategories

 public static function createCategories($appUrl, $categories)
 {
     $token = uniqid();
     OC_Util::setupFS(OC_User::getUser());
     self::addToken($token, $appUrl, $categories);
     foreach (explode(',', $categories) as $category) {
         //TODO: input checking on $category
         $scopePathParts = array('remoteStorage', $category);
         for ($i = 0; $i <= count($scopePathParts); $i++) {
             $thisPath = '/' . implode('/', array_slice($scopePathParts, 0, $i));
             if (!OC_Filesystem::file_exists($thisPath)) {
                 OC_Filesystem::mkdir($thisPath);
             }
         }
     }
     return base64_encode('remoteStorage:' . $token);
 }
开发者ID:nethad,项目名称:experiments,代码行数:17,代码来源:lib_remoteStorage.php

示例13: getFolderContent

 /**
  * get all files and folders in a folder
  * @param string path
  * @param string root (optional)
  * @return array
  *
  * returns an array of assiciative arrays with the following keys:
  * - path
  * - name
  * - size
  * - mtime
  * - ctime
  * - mimetype
  * - encrypted
  * - versioned
  */
 public static function getFolderContent($path, $root = false, $mimetype_filter = '')
 {
     if ($root === false) {
         $root = OC_Filesystem::getRoot();
     }
     $parent = OC_FileCache::getId($path, $root);
     if ($parent == -1) {
         return array();
     }
     $query = OC_DB::prepare('SELECT `id`,`path`,`name`,`ctime`,`mtime`,`mimetype`,`size`,`encrypted`,`versioned`,`writable` FROM `*PREFIX*fscache` WHERE `parent`=? AND (`mimetype` LIKE ? OR `mimetype` = ?)');
     $result = $query->execute(array($parent, $mimetype_filter . '%', 'httpd/unix-directory'))->fetchAll();
     if (is_array($result)) {
         return $result;
     } else {
         OC_Log::write('files', 'getFolderContent(): file not found in cache (' . $path . ')', OC_Log::DEBUG);
         return false;
     }
 }
开发者ID:ryanshoover,项目名称:core,代码行数:34,代码来源:cached.php

示例14: handleStoreSettings

function handleStoreSettings($root, $order)
{
    if (!OC_Filesystem::file_exists($root)) {
        OCP\JSON::error(array('cause' => 'No such file or directory'));
        return;
    }
    if (!OC_Filesystem::is_dir($root)) {
        OCP\JSON::error(array('cause' => $root . ' is not a directory'));
        return;
    }
    $current_root = OCP\Config::getUserValue(OCP\USER::getUser(), 'gallery', 'root', '/');
    $root = trim($root);
    $root = rtrim($root, '/') . '/';
    $rescan = $current_root == $root ? 'no' : 'yes';
    OCP\Config::setUserValue(OCP\USER::getUser(), 'gallery', 'root', $root);
    OCP\Config::setUserValue(OCP\USER::getUser(), 'gallery', 'order', $order);
    OCP\JSON::success(array('rescan' => $rescan));
}
开发者ID:blablubli,项目名称:owncloudapps,代码行数:18,代码来源:galleryOp.php

示例15: getFreeSpace

 /**
  * get the free space in the path's owner home folder
  * @param path
  * @return int
  */
 private function getFreeSpace($path)
 {
     $storage = OC_Filesystem::getStorage($path);
     $owner = $storage->getOwner($path);
     $totalSpace = $this->getQuota($owner);
     if ($totalSpace == -1) {
         return -1;
     }
     $rootInfo = OC_FileCache::get('', "/" . $owner . "/files");
     // TODO Remove after merge of share_api
     if (OC_FileCache::inCache('/Shared', "/" . $owner . "/files")) {
         $sharedInfo = OC_FileCache::get('/Shared', "/" . $owner . "/files");
     } else {
         $sharedInfo = null;
     }
     $usedSpace = isset($rootInfo['size']) ? $rootInfo['size'] : 0;
     $usedSpace = isset($sharedInfo['size']) ? $usedSpace - $sharedInfo['size'] : $usedSpace;
     return $totalSpace - $usedSpace;
 }
开发者ID:ryanshoover,项目名称:core,代码行数:24,代码来源:quota.php


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