上传到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();
}