我有一个脚本,上传文件到服务器,以及添加文件名到数据库,但我想做的是限制上传前的图像的最大尺寸。所以,如果我上传的图像是1000 x 500,它将受到限制,但仍然保持其尺寸,并将更改为200 x 100,但300 x 300的图像将被限制为200 x 200
<?php
//This is the directory where images will be saved
$target = "uploads/";
$target = $target . basename( $_FILES['photo']['name']);
//This gets all the other information from the form
$name=$_POST['name'];
$pic=($_FILES['photo']['name']);
// Connects to your Database
mysql_connect("hostname", "username", "password") or die(mysql_error()) ;
mysql_select_db("database") or die(mysql_error()) ;
//Writes the information to the database
mysql_query("INSERT INTO `table` (name, photo) VALUES ('$name','$pic')") ;
//Writes the photo to the server
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))
{
//Tells you if its all ok
echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded";
}
else {
//Gives and error if its not
echo "Sorry, there was a problem uploading your file.";
}
?>
谢谢你的帮忙
2条答案
按热度按时间m2xkgtsf1#
据我所知,你不能在上传之前调整图片大小。(我可能错了!)然而,当你上传图片时,它会进入一个临时文件。你可以调整临时图片的大小,并将调整大小后的图片复制到最终目的地。
因为(看起来)你想保持宽度不变,所以你真的不需要做很多比率测试。
你应该能够简单地用它来代替你原来的代码。它的大部分是不变的。
kmbjn2e32#
我在过去使用这个函数来生成缩略图,适合给定的尺寸保持纵横比,也许你可以用它: