有没有可能(当用户进入我的网站时)动态减小图像文件大小?

时间:2013-03-04 作者:Atthapon Junpun-eak

The main problem here is about too large file size of image not image re-sizing

我的wordpress网站就像一个包含许多图像的网络画廊。

最初,我只是通过wordpress media uploader上传了数百张图片,根本不关心它的文件大小。

然而,当我浏览我的网站时,加载主页的速度太慢,因为图像文件太大。

由于我不想修改已经上传的图像,是否可以创建一个过滤器或插件来减少图像文件大小(no dimension changes)还是在运行中降低其质量以加快网站加载速度?

P、 无论如何,我最后的办法是使用photoshop修改图像并降低其质量,以减小文件大小。

有什么建议吗?

2 个回复
最合适的回答,由SO网友:Chris Strutton 整理而成

如果您对PHP编程感到满意,就可以动态地重新调整图像大小。从你的问题来看,我想你还没有到那里。如果是这样,您应该查看Regenerate Thumbnails 插件。使用此插件,您可以在“媒体设置”页面中更改所需的图像大小,然后一次性、分组或一次一个地重新调整图像大小。

如果您对编程感到满意,您需要查看WP_Image_Editor 班网上有几个教程可以帮助您入门。

更新:你说你对编码很满意,就这样吧。您将需要一个功能来抓取图像,调整质量并将其流式传输到浏览器。我在正在开发的插件中也做了类似的事情。

你需要创建一个新的slug(在我的情况下是http://my.domain.com/thumbnail). 要调整质量的每个图像都将使用urlhttp://my.domain.com/thumbnail?imageurl=myimage.jpg. 在函数中。需要使用php进行挂钩add_action( \'parse_request\', \'yourfunction\' );. 然后:

function yourfunction ( $wp ) {
    if ( \'thumbnail\' == $wp->query_vars[\'pagename\'] ){
        $imagefilename = $_REQUEST[\'url\']; // change to real path left to you
        $image = wp_get_image_editor( $imagefilename );
        $image->set_quality( $jpg_comp_level );
        $image->stream();
    }
}
希望这有帮助

SO网友:zac

一个想法是使用TimThumb 为你在飞行中再生一切。这是我在自己的照片网站上使用的解决方案。通过设置参数,可以控制图像的大小和许多其他选项。例如,在输出图像的地方,您可以将其编辑为如下内容:

<img src="<?php bloginfo(\'template_url\'); ?>/scripts/timthumb.php?src=<?php echo get_post_meta($post->ID, \'my_post_type\', true); ?>&w=60&h=60&zc=1" alt="<?php the_title(); ?>" />
这应该可以实现更快加载所需的功能,并且能够在不接触原稿的情况下提供不同质量的图像。

我最近了解到,该脚本存在一些漏洞,因此如果您选择此路径,您可能希望签出该插件。

http://wordpress.org/extend/plugins/timthumb-vulnerability-scanner/

结束

相关推荐

Group images in media library

我正在寻找一种在媒体库中对图像进行分组的方法。我正在开发一个照片组合网站。我已将所有图像上载到媒体库,我需要一种方法对图像进行分组,使其更易于管理。目前我只有一长串图片。