gpt4 book ai didi

php - 使用 PHP 从图像文件夹创建缩略图

转载 作者:行者123 更新时间:2023-11-29 04:55:20 26 4
gpt4 key购买 nike

我有一个 jpeg 文件夹和一个 MySQL 数据库,我希望用它来管理它们。数据库有一张表:'images',和 7 个字段:'imgID'、'imgTitle'、'imgURL'、'imgDate'、'imgClass'、'imgFamily' 和 'imgGender'。主键是“imgID”,索引键是“imgDate”。

我想做的是创建一个 PHP 文件,它将遍历我的图像文件夹(所有 jpeg),并创建它们的缩略图,然后可以在我的网页上显示图像链接时使用。由于我将来会向该文件夹添加更多图像,因此最好防止代码创建它已经创建缩略图的双倍图像。

我遇到的所有文献都建议使用 gd 图像库来执行此操作,但我愿意接受建议。

由于我是 MySQL 和 PHP 的新手,我希望有人能帮助我编写代码。我尝试过的一切都失败了。

图片所在的目录是相对于站点根目录的new_arrivals_img/,缩略图应该放在相对于站点根目录的new_arrivals_img/thumbnails/。

现在我正在构建站点,因此使用 MAMP 在本地托管它。我在确定图像的相对路径时遇到了一些问题。有没有办法将 new_arrivals_img/设置为根?

最佳答案

据说 ImageMagick 在内存方面更好,但我总是可以使用 GD,它总是为我完成工作。确保在 php.ini 中分配足够的内存

然后使用这样的脚本:

<?php
function createThumbs( $pathToImages, $pathToThumbs, $thumbWidth )
{
// open the directory
$dir = opendir( $pathToImages );

// loop through it, looking for any/all JPG files:
while (false !== ($fname = readdir( $dir ))) {
// parse path for the extension
$info = pathinfo($pathToImages . $fname);
// continue only if this is a JPEG image
if ( strtolower($info['extension']) == 'jpg' )
{
echo "Creating thumbnail for {$fname} <br />";

// load image and get image size
$img = imagecreatefromjpeg( "{$pathToImages}{$fname}" );
$width = imagesx( $img );
$height = imagesy( $img );

// calculate thumbnail size
$new_width = $thumbWidth;
$new_height = floor( $height * ( $thumbWidth / $width ) );

// create a new temporary image
$tmp_img = imagecreatetruecolor( $new_width, $new_height );

// copy and resize old image into new image
imagecopyresized( $tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height );

// save thumbnail into a file
imagejpeg( $tmp_img, "{$pathToThumbs}{$fname}" );
}
}
// close the directory
closedir( $dir );
}
// call createThumb function and pass to it as parameters the path
// to the directory that contains images, the path to the directory
// in which thumbnails will be placed and the thumbnail's width.
// We are assuming that the path will be a relative path working
// both in the filesystem, and through the web for links
createThumbs("new_arrivals_img/","new_arrivals_img/thumbnails/",100);
?>

http://www.webcheatsheet.com/php/create_thumbnail_images.php

关于php - 使用 PHP 从图像文件夹创建缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7068373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com