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


PHP phpThumb::setSourceFileName方法代码示例

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


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

示例1: generate_thumb

function generate_thumb($path, $prefix, $type = THUMB_SMALL)
{
    global $config;
    global $thumbnail_config;
    // for relative paths assume that they are relative to images directory,
    // otherwise just use the given pat
    if (file_exists($path)) {
        $source_file_name = $path;
    } else {
        $source_file_name = $config['basedir'] . 'images/' . SmartStripSlashes($path);
    }
    // the file might have been deleted and since phpThumb dies in that case
    // try to do something sensible so that the rest of the images can still be seen
    // there is a problem in safe mode - if the script and picture file are owned by
    // different users, then the file can not be read.
    if (!is_readable($source_file_name)) {
        return false;
    }
    $imgdata = @getimagesize($source_file_name);
    if (!$imgdata) {
        // unknown image format, bail out
        return false;
    }
    // attributes of original image
    $orig_width = $imgdata[0];
    $orig_height = $imgdata[1];
    // XXX: food for thought - maybe we can return URL to some kind of error image
    // if this function fails?
    $base_filename = sanitize_filename(basename($path));
    $thumb_config = $thumbnail_config[$type];
    if (1 == $thumb_config['disabled']) {
        return $config['baseurl'] . '/images/' . $path;
    }
    $prefix = $thumb_config['filename_prefix'] . $prefix . "-";
    $thumbpath = $config['basedir'] . 'thumbs/' . $prefix . $base_filename;
    $thumburl = $config['gallery_url'] . 'thumbs/' . $prefix . $base_filename;
    // if thumbnail file already exists and is generated after data for a thumbnail type
    // has been changed, then we assume that the thumbnail is valid.
    $thumbnail_timestamp = @filemtime($thumbpath);
    if (file_exists($thumbpath) && $thumb_config['timestamp'] < $thumbnail_timestamp) {
        return $thumburl;
    }
    // if dimensions of source image are smaller than those of the requested
    // thumbnail, then use the original image as thumbnail
    if ($orig_width <= $thumb_config['size'] && $orig_height <= $thumb_config['size']) {
        copy($source_file_name, $thumbpath);
        return $thumburl;
    }
    // no existing thumbnail found or thumbnail config has changed,
    // generate new thumbnail file
    list($width, $height, $thumb_type, $attr) = @getimagesize($thumbpath);
    require_once $config['basedir'] . 'lib/phpthumb/phpthumb.class.php';
    $phpThumb = new phpThumb();
    // set data
    $phpThumb->setSourceFileName($source_file_name);
    if ($imgdata[0] > $imgdata[1]) {
        $phpThumb->w = $thumb_config['size'];
    } else {
        $phpThumb->h = $thumb_config['size'];
    }
    $phpThumb->q = $config['compression'];
    // set zoom crop flag to get image squared off
    if ($type == THUMB_SMALL && $config['square_thumbs']) {
        $phpThumb->zc = 1;
        $phpThumb->h = $thumb_config['size'];
        $phpThumb->w = $thumb_config['size'];
    }
    $phpThumb->config_use_exif_thumbnail_for_speed = false;
    // Set image height instead of width if not using square thumbs
    if ($type == THUMB_SMALL && !$config['square_thumbs']) {
        $phpThumb->h = $thumb_config['size'];
        $phpThumb->w = '';
    }
    if ($type == THUMB_NAV) {
        $phpThumb->zc = 1;
        $phpThumb->h = $thumb_config['size'];
        $phpThumb->w = $thumb_config['size'];
    }
    // set options (see phpThumb.config.php)
    // here you must preface each option with "config_"
    // Set error handling (optional)
    $phpThumb->config_error_die_on_error = false;
    // generate & output thumbnail
    if ($phpThumb->GenerateThumbnail()) {
        $phpThumb->RenderToFile($thumbpath);
    } else {
        // do something with debug/error messages
        die('Failed: ' . implode("\n", $phpThumb->debugmessages));
    }
    return $thumburl;
}
开发者ID:alanhaggai,项目名称:plogger,代码行数:91,代码来源:plog-functions.php

示例2: generate_thumb

function generate_thumb($path, $prefix, $type = THUMB_SMALL)
{
    global $config, $thumbnail_config;
    $thumb_config = $thumbnail_config[$type];
    // For relative paths assume that they are relative to 'plog-content/images/' directory,
    // otherwise just use the given path
    if (file_exists($path)) {
        $source_file_name = $path;
        if ($type == THUMB_THEME) {
            $cache_path = 'themes/';
        } else {
            $cache_path = 'uploads/';
        }
    } else {
        $source_file_name = $config['basedir'] . 'plog-content/images/' . SmartStripSlashes($path);
        $cache_path = dirname(SmartStripSlashes($path)) . '/' . $thumb_config['type'] . '/';
    }
    // The file might have been deleted and since phpThumb dies in that case
    // try to do something sensible so that the rest of the images can still be seen
    // There is a problem in safe mode - if the script and picture file are owned by
    // different users, then the file cannot be read.
    if (!is_readable($source_file_name)) {
        return false;
    }
    $imgdata = @getimagesize($source_file_name);
    if (!$imgdata) {
        // Unknown image format, bail out
        // Do we want to have video support in the Plogger core?
        //return 'plog-graphics/thumb-video.gif';
        return false;
    }
    // Attributes of original image
    $orig_width = $imgdata[0];
    $orig_height = $imgdata[1];
    // XXX: food for thought - maybe we can return URL to some kind of error image
    // if this function fails?
    $base_filename = sanitize_filename(basename($path));
    if ($thumb_config['disabled']) {
        return $config['gallery_url'] . 'plog-content/images/' . $path;
    }
    $prefix = $prefix . '-';
    $thumbpath = $config['basedir'] . 'plog-content/thumbs/' . $cache_path . $prefix . $base_filename;
    $thumburl = $config['gallery_url'] . 'plog-content/thumbs/' . $cache_path . $prefix . $base_filename;
    // If thumbnail file already exists and is generated after data for a thumbnail type
    // has been changed, then we assume that the thumbnail is valid.
    if (file_exists($thumbpath)) {
        $thumbnail_timestamp = @filemtime($thumbpath);
        if ($thumb_config['timestamp'] < $thumbnail_timestamp) {
            return $thumburl;
        }
    }
    // Create the same directory structure as the image under plog-content/thumbs/
    include_once PLOGGER_DIR . 'plog-admin/plog-admin-functions.php';
    if (!makeDirs(dirname($thumbpath))) {
        return sprintf(plog_tr('Error creating path %s'), dirname($thumbpath));
    }
    // If dimensions of source image are smaller than those of the requested
    // thumbnail, then use the original image as thumbnail unless fullsize images are disabled
    if ($orig_width <= $thumb_config['size'] && $orig_height <= $thumb_config['size']) {
        // if fullsize image access is disabled, copy the file to the thumbs folder
        if ($config['allow_fullpic'] == 0) {
            copy($source_file_name, $thumbpath);
            return $thumburl;
            // otherwise return the original file path
        } else {
            return $config['gallery_url'] . 'plog-content/images/' . $path;
        }
    }
    // No existing thumbnail found or thumbnail config has changed,
    // generate new thumbnail file
    require_once PLOGGER_DIR . 'plog-includes/lib/phpthumb/phpthumb.class.php';
    $phpThumb = new phpThumb();
    // Set data
    $phpThumb->setSourceFileName($source_file_name);
    switch ($thumb_config['resize_option']) {
        // Resize to width
        case 0:
            $phpThumb->w = $thumb_config['size'];
            break;
            // Resize to height
        // Resize to height
        case 1:
            $phpThumb->h = $thumb_config['size'];
            break;
            // Use square thumbnails
        // Use square thumbnails
        case 3:
            $phpThumb->zc = 1;
            $phpThumb->h = $thumb_config['size'];
            $phpThumb->w = $thumb_config['size'];
            break;
            // Resize to longest side
        // Resize to longest side
        case 2:
        default:
            if ($imgdata[0] > $imgdata[1]) {
                $phpThumb->w = $thumb_config['size'];
            } else {
                $phpThumb->h = $thumb_config['size'];
            }
//.........这里部分代码省略.........
开发者ID:nadams810,项目名称:ploto,代码行数:101,代码来源:plog-functions.php


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