width
你可以在浏览器中使用和属性来缩放它们height
(或者只使用一个属性来保持纵横比),但这有很多原因,包括带宽、页面性能和图像质量。
您可以使用诸如GD
或之类的库重新调整图像大小Imagick
一个快速示例IMagick
:
$hThumb = new Imagick($path_to_file); // Source file
$hThumb->thumbnailImage($x, $y); // You can use 300, 0 to do 300 width and maintain aspect ratio.
$hThumb->stripImage(); // remove meta data
$hThumb->writeImage($path_to_thumb); // write the image to disk
笔记
确保具有读/写权限。您可以使用is_readable
和来验证此权限is_writable
。
正在加载
建议使用加载图像,如果使用或类似的库AJAX
非常容易。JQuery
$('#nextBtn').click(function() {
var index = 0; // Store this in your image ID tag perhaps
// e.g. $('#theImage').attr('id').replace('image', '')
// where ID is imageX
$.ajax({
url: 'getImages.php?index=' + index,
type: "GET",
success: function(data) {
var result = $.parseJSON(data);
if (result.success) {
// Set your image src with the new path.
// Use result.image_data.src etc...
}
}
});
});
PHP 也相对简单,结构类似于:
<?php
$return = array('success' => false, 'image_data' => array());
if (isset($_GET['index']) && is_numeric($_GET['index')) {
// Fetch your image
$return = array(
'success' => true,
'image_data' => array(
'src' => $src,
'title' => $title,
'index' => $index
)
);
}
echo json_encode($return);
?>
** 另一个注意事项 **
正如 kgb 所述,您应该在上传时调整它们的大小,但是,它们可能不是用户提交的,因此您还可以检查输出中是否存在拇指并根据需要生成任何拇指。当然,不要为每个视图生成它们。