День добрый, вожусь с данной проблемой уже давно, видел коды вроде должны решить проблему, только не могу понять как применить и куда именно вставлять. вот мой код загрузки файла на сервер... Код (PHP): $name = $_FILES['image_file']['name']; $tmp_name = $_FILES['image_file']['tmp_name']; if(isset($_POST['make_image'])){ if(empty($_FILES['image_file']['name'])){ echo $theme->table ( $lang['error'], $lang['photo_add_field_005'] ); } if(empty($_POST['image_title'])){ echo $theme->table ( $lang['error'], $lang['photo_add_field_001_help'] ); } $explode = explode('.', $name, 2); if(!preg_match('/^jpg|gif|png|jpeg|JPG|JPEG|bmp$/', $explode['1'])) { echo $theme->table ( $lang['error'], $lang['photo_add_error'] ); } $generate_name = rand(100,99999); $generate_name_extra = rand(200,9999); $insert_image = mysql_query("INSERT INTO `".dbprefix."_gallery` (`user_id`,`title`,`description`,`image`,`views`, `date`,`category`) VALUES ('$userdata[id]','".$_POST['image_title']."', '".$_POST['image_description']."', '".$generate_name ."_".$generate_name_extra ."_".$_FILES['image_file']['name']."','0','".time()."','".$_POST['image_cat']."')"); $select_last = mysql_query("SELECT * FROM `".dbprefix."_gallery` ORDER BY `id` DESC LIMIT 1"); $selected = mysql_fetch_assoc($select_last); move_uploaded_file($tmp_name, $_SERVER['DOCUMENT_ROOT']."/files/gallery/".$generate_name ."_".$generate_name_extra ."_".$_FILES['image_file']['name']); $id = $db->insert_id(); echo '<script>window.parent.goLinkAfter = \'/gallery/'.$id.'\'</script>'; echo $main->redirect ( $config['web_url'] . '/gallery/'.$id.'', 'js_close1', '2000' ); echo $theme->table2 ( $lang['success'], $lang['league_clans_edit_success'], success ); } вот код вывода Код (PHP): $size = getimagesize('files/gallery/'.$row['image']); if($size['0'] > $size['1']) { $ratio = 900 / $size['0']; } else { $ratio = 420 / $size['1']; } $new_width = $ratio * $size['0']; $new_height = $ratio * $size['1']; if($size['0'] > 900 OR $size['1'] > 420) { echo '<ul class="gallery clearfix" style="padding:1px;">[url="../../files/gallery/'.$row['image'].'"]</center>[/url]</ul></td></tr></table>'; } else { echo '<ul class="gallery clearfix" style="padding:1px;">[url="../../files/gallery/'.$row['image'].'"]</center>[/url]</ul></td></tr></table>'; } вот допустим нужный код, помогите его заставить работать. Код (PHP): function image_fix_orientation($filename) { $exif = exif_read_data($filename); if (!empty($exif['Orientation'])) { $image = imagecreatefromjpeg($filename); switch ($exif['Orientation']) { case 3: $image = imagerotate($image, 180, 0); break; case 6: $image = imagerotate($image, -90, 0); break; case 8: $image = imagerotate($image, 90, 0); break; } imagejpeg($image, $filename, 90); } } Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
Вручную если указать картинку и вызвать функцию она будет перевёрнута как надо? Добавлено спустя 32 секунды: Это не твой код? Ты его не писал?
Если честно, я не особо понимаю как заставить функцию вызвать картинку, код найденый в интернете. Код (PHP): echo $main->image_fix_orientation('files/gallery/'.$row['image']) Если вызывать так, то вообще нет никаких результатов.
Мне её нужно повернуть, она сделана с телефона и после загрузки, она повёрнута на 90 градусов, мне нужно её повернуть обратно. http://copejam.lv/gallery/40 http://copejam.lv/files/gallery/12370_6895_10985_3934_20160311_191133.jpg
Что то пишет или выключено отображение ошибок? Попробуй в отдельном файле добиться работы этой функции
В чём это заключается? Отладку делаешь? http://phpfaq.ru/debug https://netbeans.org/kb/docs/php/debugging_ru.html Может перенести тему в раздел "сделайте за меня" или "free-lance"?
Код (PHP): function resample($jpgFile, $width, $newcopy, $orientation) { // Get new dimensions list($width_orig, $height_orig) = getimagesize($jpgFile); $height = (int) (($width / $width_orig) * $height_orig); // Resample $image_p = imagecreatetruecolor($width, $height); $image = imagecreatefromjpeg($jpgFile); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); // Fix Orientation switch($orientation) { case 3: $image_p = imagerotate($image_p, 180, 0); break; case 6: $image_p = imagerotate($image_p, -90, 0); break; case 8: $image_p = imagerotate($image_p, 90, 0); break; } // Output imagejpeg($image_p, $newcopy, 90); echo "Rotated Image Copied to Destination.<BR>"; } Код (PHP): $insert_image = mysql_query("INSERT INTO `".dbprefix."_gallery` (`user_id`,`title`,`description`,`image`,`views`, `date`,`category`) VALUES ('$userdata[id]','".$_POST['image_title']."', '".$_POST['image_description']."', '".$generate_name ."_".$generate_name_extra ."_".$_FILES['image_file']['name']."','0','".time()."','".$_POST['image_cat']."')"); $select_last = mysql_query("SELECT * FROM `".dbprefix."_gallery` ORDER BY `id` DESC LIMIT 1"); $selected = mysql_fetch_assoc($select_last); move_uploaded_file($tmp_name, $_SERVER['DOCUMENT_ROOT']."/files/gallery/".$generate_name ."_".$generate_name_extra ."_".$_FILES['image_file']['name']); $jpgFile = $_SERVER['DOCUMENT_ROOT']."/files/gallery/".$generate_name ."_".$generate_name_extra ."_".$_FILES['image_file']['name']; $exif = exif_read_data($jpgFile, 0, true); $ort = $exif['IFD0']['Orientation']; $width = $exif['IFD0']['ImageWidth']; $orientation = $ort; $thumbnail = 'files/gallery/asd.jpeg'; $success = $main->resample($jpgFile, $thumbnail, $width, $orientation); $id = $db->insert_id(); echo '<script>window.parent.goLinkAfter = \'/gallery/'.$id.'\'</script>'; echo $main->redirect ( $config['web_url'] . '/gallery/'.$id.'', 'js_close1', '2000' ); echo $theme->table2 ( $lang['success'], $lang['league_clans_edit_success'], success ); Помогите разобраться, довёл код до того, чтобы он вызывал и выполнял функцию, но после выполнения, ничего не меняется. Файл изображения не обновляет и новый не добавляет.