我正在使用一个非常简单的脚本将图片上传到数据库。
<?php
if(isset($_POST['upload'])){
$name = $_POST['name'];
$album_id = $_POST['album'];
$file = $_FILES['file']['name'];
$file_type = $_FILES['file']['type'];
$file_size = $_FILES['file']['size'];
$file_tmp = $_FILES['file']['tmp_name'];
$random_name = rand();
if(empty($file)){
?>
MUST BE JPG
<?php } else {
move_uploaded_file($file_tmp, 'uploads/'.$random_name.'.jpg');
mysql_query("INSERT INTO photos VALUES('', '$name', '$album_id', '$random_name.jpg')");
?>
UPLOADED
<?php
}
}
?>
<input type="file" name="file" id="imgInp" /><br /><br />
<input type="submit" name="upload" value="Upload" />
我正在寻找一种在上传图像时调整这些图像大小的方法。我不太确定我想要什么宽度,但是运行这样的代码最简单/最好的方法是什么?我曾经
最佳答案
如果您运行的是 PHP 5.3 或更高版本,您将能够使用内置的图像 magick。
在 move_uploaded_file 上方使用以下代码,它会将其大小调整为 400 宽度和自动高度。
$image = new Imagick($file_tmp);
$image->thumbnailImage(400, 0);
$image->writeImage($newPath);
第一行创建 Imagick 类的实例,并传入您的文件。
第二行创建缩略图,您可以将这两个数字更改为您喜欢的任何数字。
- 第一个数字是宽度
- 第二个数字是高度
0 表示自动,因此通过将第一个参数设置为 400,将第二个参数设置为 0,这将保持图像的纵横比。
最后一行将缩略图写入您选择的目录。
关于php - 使用 PHP 上传到 SQL 调整图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29711706/