如何旋转从Android Web浏览器上载的-90度图像

时间:2018-10-17 09:19:20

标签: php image joomla upload

上传到Joomla插件时,我遇到了一个小问题。 图像在“垂直”视图中以Android或Iphone拍摄,但是当上传到服务器时,它们将变为“水平”。 我尝试过http://php.net/manual/de/function.imagerotate.php,但也许是我做错了或误解了它是如何工作的,在此先感谢任何人的帮助。 如果您单击Liste Anzeigen,则可以在此处http://graphicated.com/index.php/component/eventbooking/it-meetings/event-02中找到列表。可以看到上传的图像都是水平保存的。

这是使用的功能:

public function upload_file()
{
    jimport('joomla.filesystem.folder');

    $config     = EventbookingHelper::getConfig();
    $json       = array();
    $pathUpload = JPATH_ROOT . '/media/com_eventbooking/files';

    if (!JFolder::exists($pathUpload))
    {
        JFolder::create($pathUpload);
    }

    $allowedExtensions = $config->attachment_file_types;

    if (!$allowedExtensions)
    {
        $allowedExtensions = 'doc|docx|ppt|pptx|pdf|zip|rar|bmp|gif|jpg|jepg|png|swf|zipx';
    }

    $allowedExtensions = explode('|', $allowedExtensions);
    $allowedExtensions = array_map('trim', $allowedExtensions);

    $file     = $this->input->files->get('file', array(), 'raw');
    $fileName = $file['name'];
    $fileExt  = JFile::getExt($fileName);

    if (in_array(strtolower($fileExt), $allowedExtensions))
    {
        $canUpload = true;

        if ($config->upload_max_file_size > 0)
        {
            $maxFileSizeInByte = $config->upload_max_file_size * 1024 * 1024;

            if ($file['size'] > $maxFileSizeInByte)
            {
                $json['error'] = JText::sprintf('EB_FILE_SIZE_TOO_LARGE', $config->upload_max_file_size . 'MB');
                $canUpload     = false;
            }
        }

        if ($canUpload)
        {
            $fileName = JFile::makeSafe($fileName);

            if (JFile::exists($pathUpload . '/' . $fileName))
            {
                $targetFileName = time() . '_' . $fileName;
            }
            else
            {
                $targetFileName = $fileName;
            }

            JFile::upload($file['tmp_name'], $pathUpload . '/' . $targetFileName, false, true);

            $json['success'] = JText::sprintf('EB_FILE_UPLOADED', $fileName);
            $json['file']    = $targetFileName;
        }
    }
    else
    {
        $json['error'] = JText::sprintf('EB_FILE_NOT_ALLOWED', $fileExt, implode(', ', $allowedExtensions));
    }

    echo json_encode($json);

    $this->app->close();
}

0 个答案:

没有答案
相关问题