从手机上传时的图像旋转

时间:2017-07-09 12:08:17

标签: php android ios

从我的Android手机上传时我需要一些图像旋转方面的帮助(无法使用iPhone进行测试,因为我没有)所以,我会发布我的代码,但至少在我发布时它不起作用上传它的图像不是正确的旋转,它会出现在侧面。

这是我的PHP代码:

$imgID = $_POST['postID'];
$newname = "$imgID.jpg";

$filename = $_FILES['fileField']['name'];
$filePath = $_FILES['fileField']['tmp_name'];
$exif = exif_read_data($_FILES['fileField']['tmp_name']);
if (!empty($exif['Orientation'])) {
    $imageResource = imagecreatefromjpeg($filePath); // provided that the image is jpeg. Use relevant function otherwise
    switch ($exif['Orientation']) {
        case 3:
        $image = imagerotate($imageResource, 180, 0);
        break;
        case 6:
        $image = imagerotate($imageResource, -90, 0);
        break;
        case 8:
        $image = imagerotate($imageResource, 90, 0);
        break;
        default:
        $image = $imageResource;
    } 
}

move_uploaded_file(imagejpeg($image, $filename, 90),"../pic/$newname");

我的HTML表单和Javascript用图像更新一个div:

<script>
     function readURL(input) {
            if (input.files && input.files[0]) {
                var reader = new FileReader();

                reader.onload = function (e) {
                    $('#blah')
                        .attr('src', e.target.result)
                        .width(200)
                        .height(200);
                };

                reader.readAsDataURL(input.files[0]);
            }
        }
</script>
<form action='' enctype="multipart/form-data" method='post'>
    <input type='hidden' name='postID' value='<?php echo $row['postID'];?>'>
    <p><label>Imagem</label><br /><input type="file" name="fileField" onchange="readURL(this);" /></p>
    <img id="blah" src="../pic/<?php echo $row['postID']; ?>.jpg" width="200" height="200" alt="your image" />
    <p><input type='submit' name='submit' value='Update'></p>
</form>

0 个答案:

没有答案