Как исправить поворот изображения в загрузке WordPress? - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть форма для загрузки, которая загружает изображения с помощью ajax, у меня проблема, когда изображение захватывается моим мобильным телефоном, изображение автоматически поворачивается!как я могу это исправить?как я могу использовать read_exif_data и изменить элементы ориентации?

php код:

if( $_SERVER['REQUEST_METHOD'] == "POST" ){
        foreach ( $_FILES['files']['name'] as $f => $name ) {
            $extension = pathinfo( $name, PATHINFO_EXTENSION );
            // Generate a randon code for each file name
            $new_filename = cvf_td_generate_random_code( 20 )  . '.' . $extension;

            if ( $_FILES['files']['error'][$f] == 4 ) {
                continue; 
            }

            if ( $_FILES['files']['error'][$f] == 0 ) {
                // Check if image size is larger than the allowed file size
                if ( $_FILES['files']['size'][$f] > $max_file_size ) {
                    $upload_message[] = "حجم تصویر $name بسیار زیاد است";
                    continue;

                // Check if the file being uploaded is in the allowed file types
                } elseif( ! in_array( strtolower( $extension ), $valid_formats ) ){
                    $upload_message[] = "تصویر $name فرمت درستی ندارد.";
                    continue; 

                } else{ 
                    if( move_uploaded_file( $_FILES["files"]["tmp_name"][$f], $path.$new_filename ) ) {
                        $filename = $path.$new_filename;
                        $filetype = wp_check_filetype( basename( $filename ), null );
                        $wp_upload_dir = wp_upload_dir();
                        $attachment = array(
                            'guid'           => $wp_upload_dir['url'] . '/' . basename( $filename ), 
                            'post_mime_type' => $filetype['type'],
                            'post_title'     => preg_replace( '/\.[^.]+$/', '', basename( $filename ) ),
                            'post_content'   => '',
                            'post_status'    => 'inherit'
                        );
                        // Insert attachment to the database
                        $attach_id = wp_insert_attachment( $attachment, $filename, $parent_post_id );

                        require_once( ABSPATH . 'wp-admin/includes/image.php' );

                        // Generate meta data
                        $attach_data = wp_generate_attachment_metadata( $attach_id, $filename ); 
                        wp_update_attachment_metadata( $attach_id, $attach_data );

                    }
                }
            }
        }

}

1 Ответ

0 голосов
/ 06 февраля 2019

Если плагин приемлем, для меня это хорошо работает https://de.wordpress.org/plugins/fix-image-rotation/

исправляет вращение после загрузки.и, возможно, вы также можете использовать его, чтобы посмотреть его код и реализовать его по-своему.

...