本文整理汇总了PHP中OC_Filesystem::getLocalFile方法的典型用法代码示例。如果您正苦于以下问题:PHP OC_Filesystem::getLocalFile方法的具体用法?PHP OC_Filesystem::getLocalFile怎么用?PHP OC_Filesystem::getLocalFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OC_Filesystem
的用法示例。
在下文中一共展示了OC_Filesystem::getLocalFile方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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;
}
示例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;
}
示例3: scanFile
/**
* scan a file for music
* @param string $path
* @return boolean
*/
public static function scanFile($path)
{
if (!self::isMusic($path)) {
return;
}
if (!self::$getID3) {
self::$getID3 = @new getID3();
self::$getID3->encoding = 'UTF-8';
}
$file = OC_Filesystem::getLocalFile($path);
$data = @self::$getID3->analyze($file);
getid3_lib::CopyTagsToComments($data);
if (!isset($data['comments'])) {
OCP\Util::writeLog('media', "error reading id3 tags in '{$file}'", OCP\Util::WARN);
return;
}
if (!isset($data['comments']['artist'])) {
OCP\Util::writeLog('media', "error reading artist tag in '{$file}'", OCP\Util::WARN);
$artist = 'unknown';
} else {
$artist = OCP\Util::sanitizeHTML(stripslashes($data['comments']['artist'][0]));
}
if (!isset($data['comments']['album'])) {
OCP\Util::writeLog('media', "error reading album tag in '{$file}'", OCP\Util::WARN);
$album = 'unknown';
} else {
$album = OCP\Util::sanitizeHTML(stripslashes($data['comments']['album'][0]));
}
if (!isset($data['comments']['title'])) {
OCP\Util::writeLog('media', "error reading title tag in '{$file}'", OCP\Util::WARN);
$title = 'unknown';
} else {
$title = OCP\Util::sanitizeHTML(stripslashes($data['comments']['title'][0]));
}
$size = $data['filesize'];
if (isset($data['comments']['track'])) {
$track = $data['comments']['track'][0];
} else {
if (isset($data['comments']['track_number'])) {
$track = $data['comments']['track_number'][0];
$track = explode('/', $track);
$track = $track[0];
} else {
$track = 0;
}
}
$length = isset($data['playtime_seconds']) ? round($data['playtime_seconds']) : 0;
if (!isset(self::$artists[$artist])) {
$artistId = OC_MEDIA_COLLECTION::addArtist($artist);
self::$artists[$artist] = $artistId;
} else {
$artistId = self::$artists[$artist];
}
if (!isset(self::$albums[$artist . '/' . $album])) {
$albumId = OC_MEDIA_COLLECTION::addAlbum($album, $artistId);
self::$albums[$artist . '/' . $album] = $albumId;
} else {
$albumId = self::$albums[$artist . '/' . $album];
}
$songId = OC_MEDIA_COLLECTION::addSong($title, $path, $artistId, $albumId, $length, $track, $size);
return !($title == 'unknown' && $artist == 'unknown' && $album == 'unknown') ? $songId : 0;
}
示例4: getViewImage
public static function getViewImage($image_name, $owner = null)
{
if (!$owner) {
$owner = OCP\USER::getUser();
}
$view_file = OC_Filesystem::getLocalFile($image_name);
if (!is_dir($save_dir)) {
mkdir($save_dir, 0777, true);
}
if (file_exists($view_file)) {
$image = new OC_Image($view_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->resize(1200);
$image->fixOrientation();
$image->save($view_file);
}
}
if ($image->valid()) {
return $image;
} else {
$image->destroy();
}
return null;
}
示例5: get
/**
* return the content of a file or return a zip file containning multiply files
*
* @param dir $dir
* @param file $file ; seperated list of files to download
* @param boolean $only_header ; boolean to only send header of the request
*/
public static function get($dir, $files, $only_header = false)
{
$xsendfile = false;
if (isset($_SERVER['MOD_X_SENDFILE_ENABLED']) || isset($_SERVER['MOD_X_ACCEL_REDIRECT_ENABLED'])) {
$xsendfile = true;
}
if (strpos($files, ';')) {
$files = explode(';', $files);
}
if (is_array($files)) {
self::validateZipDownload($dir, $files);
$executionTime = intval(ini_get('max_execution_time'));
set_time_limit(0);
$zip = new ZipArchive();
if ($xsendfile) {
$filename = OC_Helper::tmpFileNoClean('.zip');
} else {
$filename = OC_Helper::tmpFile('.zip');
}
if ($zip->open($filename, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE) !== true) {
exit("cannot open <{$filename}>\n");
}
foreach ($files as $file) {
$file = $dir . '/' . $file;
if (OC_Filesystem::is_file($file)) {
$tmpFile = OC_Filesystem::toTmpFile($file);
self::$tmpFiles[] = $tmpFile;
$zip->addFile($tmpFile, basename($file));
} elseif (OC_Filesystem::is_dir($file)) {
self::zipAddDir($file, $zip);
}
}
$zip->close();
set_time_limit($executionTime);
} elseif (OC_Filesystem::is_dir($dir . '/' . $files)) {
self::validateZipDownload($dir, $files);
$executionTime = intval(ini_get('max_execution_time'));
set_time_limit(0);
$zip = new ZipArchive();
if ($xsendfile) {
$filename = OC_Helper::tmpFileNoClean('.zip');
} else {
$filename = OC_Helper::tmpFile('.zip');
}
if ($zip->open($filename, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE) !== true) {
exit("cannot open <{$filename}>\n");
}
$file = $dir . '/' . $files;
self::zipAddDir($file, $zip);
$zip->close();
set_time_limit($executionTime);
} else {
$zip = false;
$filename = $dir . '/' . $files;
}
OC_Util::obEnd();
if ($zip or OC_Filesystem::is_readable($filename)) {
header('Content-Disposition: attachment; filename="' . basename($filename) . '"');
header('Content-Transfer-Encoding: binary');
OC_Response::disableCaching();
if ($zip) {
ini_set('zlib.output_compression', 'off');
header('Content-Type: application/zip');
header('Content-Length: ' . filesize($filename));
self::addSendfileHeader($filename);
} else {
header('Content-Type: ' . OC_Filesystem::getMimeType($filename));
$storage = OC_Filesystem::getStorage($filename);
if ($storage instanceof OC_Filestorage_Local) {
self::addSendfileHeader(OC_Filesystem::getLocalFile($filename));
}
}
} elseif ($zip or !OC_Filesystem::file_exists($filename)) {
header("HTTP/1.0 404 Not Found");
$tmpl = new OC_Template('', '404', 'guest');
$tmpl->assign('file', $filename);
$tmpl->printPage();
} else {
header("HTTP/1.0 403 Forbidden");
die('403 Forbidden');
}
if ($only_header) {
if (!$zip) {
header("Content-Length: " . OC_Filesystem::filesize($filename));
}
return;
}
if ($zip) {
$handle = fopen($filename, 'r');
if ($handle) {
$chunkSize = 8 * 1024;
// 1 MB chunks
while (!feof($handle)) {
//.........这里部分代码省略.........
示例6: array
{
OCP\JSON::error(array('data' => array('message' => $msg)));
OCP\Util::writeLog('contacts', 'ajax/oc_photo.php: ' . $msg, OCP\Util::ERROR);
exit;
}
function debug($msg)
{
OCP\Util::writeLog('contacts', 'ajax/oc_photo.php: ' . $msg, OCP\Util::DEBUG);
}
if (!isset($_GET['id'])) {
bailOut(OC_Contacts_App::$l10n->t('No contact ID was submitted.'));
}
if (!isset($_GET['path'])) {
bailOut(OC_Contacts_App::$l10n->t('No photo path was submitted.'));
}
$localpath = OC_Filesystem::getLocalFile($_GET['path']);
$tmpfname = tempnam(get_temp_dir(), "occOrig");
if (!file_exists($localpath)) {
bailOut(OC_Contacts_App::$l10n->t('File doesn\'t exist:') . $localpath);
}
file_put_contents($tmpfname, file_get_contents($localpath));
$image = new OC_Image();
if (!$image) {
bailOut(OC_Contacts_App::$l10n->t('Error loading image.'));
}
if (!$image->loadFromFile($tmpfname)) {
bailOut(OC_Contacts_App::$l10n->t('Error loading image.'));
}
if ($image->width() > 400 || $image->height() > 400) {
$image->resize(400);
// Prettier resizing than with browser and saves bandwidth.
示例7: getThumbnailInfo
public function getThumbnailInfo($path)
{
$arr = DatabaseManager::getInstance()->getFileData($path);
if (!$arr) {
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;
}
$arr = DatabaseManager::getInstance()->setFileData($path, $this->getThumbnailWidth($image), self::THUMBNAIL_HEIGHT);
}
$ret = array('filepath' => $arr['path'], 'width' => $arr['width'], 'height' => $arr['height']);
return $ret;
}
示例8: getLocalFilePath
/**
* turns an owncloud path into a path on the filesystem
* @param string path the path to the file on the oc filesystem
* @return string the filepath in the filesystem
*/
public function getLocalFilePath($path)
{
# TODO: use public api
return \OC_Filesystem::getLocalFile($path);
}
示例9: scanFile
/**
* scan a file for music
* @param string $path
* @return boolean
*/
public static function scanFile($path)
{
if (is_null(self::$useMp3Info)) {
self::$useMp3Info = OC_Helper::canExecute("mp3info");
}
$file = OC_Filesystem::getLocalFile($path);
if (substr($path, -3) == 'mp3' and self::$useMp3Info) {
//use the command line tool id3info if possible
$output = array();
$size = filesize($file);
exec('mp3info -p "%a\\n%l\\n%t\\n%n\\n%S" "' . $file . '"', $output);
if (count($output) > 4) {
$artist = $output[0];
$album = $output[1];
$title = $output[2];
$track = $output[3];
$length = $output[4];
} else {
return;
//invalid mp3 file
}
} else {
if (!self::isMusic($path)) {
return;
}
if (!self::$getID3) {
self::$getID3 = @new getID3();
}
$data = @self::$getID3->analyze($file);
getid3_lib::CopyTagsToComments($data);
if (!isset($data['comments'])) {
if (defined("DEBUG") && DEBUG) {
error_log("error reading id3 tags in '{$file}'");
}
return;
}
if (!isset($data['comments']['artist'])) {
if (defined("DEBUG") && DEBUG) {
error_log("error reading artist tag in '{$file}'");
}
$artist = 'unknown';
} else {
$artist = stripslashes($data['comments']['artist'][0]);
$artist = utf8_encode($artist);
}
if (!isset($data['comments']['album'])) {
if (defined("DEBUG") && DEBUG) {
error_log("error reading album tag in '{$file}'");
}
$album = 'unknown';
} else {
$album = stripslashes($data['comments']['album'][0]);
$album = utf8_encode($album);
}
if (!isset($data['comments']['title'])) {
if (defined("DEBUG") && DEBUG) {
error_log("error reading title tag in '{$file}'");
}
$title = 'unknown';
} else {
$title = stripslashes($data['comments']['title'][0]);
$title = utf8_encode($title);
}
$size = $data['filesize'];
$track = isset($data['comments']['track']) ? $data['comments']['track'][0] : 0;
$length = isset($data['playtime_seconds']) ? round($data['playtime_seconds']) : 0;
}
if (!isset(self::$artists[$artist])) {
$artistId = OC_MEDIA_COLLECTION::addArtist($artist);
self::$artists[$artist] = $artistId;
} else {
$artistId = self::$artists[$artist];
}
if (!isset(self::$albums[$artist . '/' . $album])) {
$albumId = OC_MEDIA_COLLECTION::addAlbum($album, $artistId);
self::$albums[$artist . '/' . $album] = $albumId;
} else {
$albumId = self::$albums[$artist . '/' . $album];
}
$songId = OC_MEDIA_COLLECTION::addSong($title, $path, $artistId, $albumId, $length, $track, $size);
return !($title == 'unkown' && $artist == 'unkown' && $album == 'unkown') ? $songId : 0;
}
开发者ID:Teino1978-Corp,项目名称:Teino1978-Corp-owncloud_.htaccess-,代码行数:87,代码来源:owncloud_apps_media_lib_scanner.php