如何使用php使用exif方向数据自动旋转图像
我已经创建了一个上传脚本,它还创建了一个缩略图,可以正常工作,但现在我遇到了一个问题。当我上传一些图像时,exif方向数据会自动旋转我网站上的图像 我试着在网上搜索如何检查数据,如果有数据的话,再把它转回来,但我不明白我该怎么做 以下是我目前的代码:如何使用php使用exif方向数据自动旋转图像,php,image,gallery,exif,Php,Image,Gallery,Exif,我已经创建了一个上传脚本,它还创建了一个缩略图,可以正常工作,但现在我遇到了一个问题。当我上传一些图像时,exif方向数据会自动旋转我网站上的图像 我试着在网上搜索如何检查数据,如果有数据的话,再把它转回来,但我不明白我该怎么做 以下是我目前的代码: if(isset($_POST['submit'])) { $allowedExts = array("jpg", "jpeg", "gif", "png", "JPG", "GIF"); $extension =
if(isset($_POST['submit'])) {
$allowedExts = array("jpg", "jpeg", "gif", "png", "JPG", "GIF");
$extension = end(explode(".", strtolower($_FILES["file"]["name"])));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& in_array($extension, $allowedExts)) {
if ($_FILES["file"]["error"] > 0) {
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
} else {
$random_numer = rand(10000000, 99999999);
$newname1 = $random_numer . $_FILES["file"]["name"];
$scramble = md5($newname1);
$extension = end(explode(".", $_FILES["file"]["name"]));
$final_name = $scramble . "." . $extension;
move_uploaded_file($_FILES["file"]["tmp_name"], "../img/gallery/" . $final_name);
create_thumbnail($final_name);
$stmt = $conn->prepare('INSERT INTO gallery (image) VALUES (:image)');
$stmt->bindParam(':image', $final_name);
$stmt->execute();
if ($stmt->rowCount() > 0) {
echo "<p class='success'>The Image has been added!
<a href='gallery.php'>Please click here to refresh</a></p>";
} else {
echo "<p class='error'>The Image was not added, there was an error.</p>";
}
}
} else {
echo "Invalid file";
}
}
if(isset($\u POST['submit'])){
$allowedExts=数组(“jpg”、“jpeg”、“gif”、“png”、“jpg”、“gif”);
$extension=end(分解(“.”,strtolower($_FILES[“file”][“name”]));
如果(($_文件[“文件”][“类型”]=“图像/gif”)
||($_文件[“文件”][“类型”]=“图像/jpeg”)
||($_文件[“文件”][“类型”]=“图像/png”)
||($_文件[“文件”][“类型”]=“图像/pjpeg”))
&&in_数组($extension$allowedExts)){
如果($\u文件[“文件”][“错误”]>0){
回显“返回代码:”.$\u文件[“文件”][“错误”]。
”;
}否则{
$random_numer=兰特(100000009999999);
$newname1=$random\u numer.$\u FILES[“file”][“name”];
$scramble=md5($newname1);
$extension=end(分解(“.”,$_文件[“文件”][“名称]);
$final_name=$scramble.“.”$extension;
移动上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
创建_缩略图($final_name);
$stmt=$conn->prepare('INSERT-INTO-gallery(image)值(:image)');
$stmt->bindParam(':image',$final_name);
$stmt->execute();
如果($stmt->rowCount()>0){
echo“图像已添加!
”;
}否则{
echo“未添加图像,出现错误。
”;
}
}
}否则{
回显“无效文件”;
}
}
如何使图像不旋转?您必须编写另一个自定义函数,因为无法告诉move\u uploaded\u file忽略EXIF数据,这有点令人沮丧。您的生活更安全。我花了一段时间才弄明白,但我终于做到了。再次感谢