Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.04.2009, 22:35
loover вне форума Посмотреть профиль Отправить личное сообщение для loover Найти все сообщения от loover
  № 1  
Ответить с цитированием
loover
 
Аватар для loover

Регистрация: Mar 2009
Сообщений: 357
По умолчанию изменение размеров изображения

есть функция для изменение размеров изображений она находится внутри кода для загрузки файлов через flash. но на выходе не jpeg, а строка (вместо картинки кракозябры). как исправить?
в функцию масштабирования я написал
PHP код:
header("Content-type: image/jpeg"); 
но php пишет, что заголовки уже добавлены.

Старый 03.04.2009, 00:52
duhowka вне форума Посмотреть профиль Отправить личное сообщение для duhowka Найти все сообщения от duhowka
  № 2  
Ответить с цитированием
duhowka

Регистрация: Mar 2009
Сообщений: 317
Заголовки должны передаваться прежде всех данных.
Попробуй header добавить повыше... =)
должно помочь

Старый 03.04.2009, 01:11
loover вне форума Посмотреть профиль Отправить личное сообщение для loover Найти все сообщения от loover
  № 3  
Ответить с цитированием
loover
 
Аватар для loover

Регистрация: Mar 2009
Сообщений: 357
пробовал. то же самое. flash ведь сразу передает header в методе upload(и зменить его нельзя). может в этом все дело?

Старый 03.04.2009, 01:38
duhowka вне форума Посмотреть профиль Отправить личное сообщение для duhowka Найти все сообщения от duhowka
  № 4  
Ответить с цитированием
duhowka

Регистрация: Mar 2009
Сообщений: 317
может. но я как-то не много запутался. У Вас jpeg выдает php скрипт, правильно? и то что выдает скрипт, вы хотите отобразить во флеш?

Старый 03.04.2009, 19:04
loover вне форума Посмотреть профиль Отправить личное сообщение для loover Найти все сообщения от loover
  № 5  
Ответить с цитированием
loover
 
Аватар для loover

Регистрация: Mar 2009
Сообщений: 357
именно! но пока я застрял на этапе генерирования jpg.

Старый 03.04.2009, 22:24
duhowka вне форума Посмотреть профиль Отправить личное сообщение для duhowka Найти все сообщения от duhowka
  № 6  
Ответить с цитированием
duhowka

Регистрация: Mar 2009
Сообщений: 317
чтобы не мучатся. код в студию =)

Старый 04.04.2009, 21:06
loover вне форума Посмотреть профиль Отправить личное сообщение для loover Найти все сообщения от loover
  № 7  
Ответить с цитированием
loover
 
Аватар для loover

Регистрация: Mar 2009
Сообщений: 357
swf:
Код AS3:
uploadURL = new URLRequest("http://zzz/upload.php");
var email_data:String = "name=" + nam.text + "&email=" + email.text + "&message=" + msg.text;
var email_vars:URLVariables=new URLVariables(email_data);
uploadURL.data=email_vars;
uploadURL.method=URLRequestMethod.POST;
uploadURL.data=email_vars;
file.upload(uploadURL)
PHP:
PHP код:
<?php 
$receiver 
"zzz@zzz.com";
$subject "zzz";

$headers "From: " $_POST["name"] ." "."<" $_POST["email"] .">\r\n";
$headers .= "Reply-To: " $_POST["email"] . "\r\n";
$headers .= "Return-path: " $_POST["email"];
$ruheaders iconv("UTF-8","windows-1251","$headers");

$filename $_FILES["Filedata"]["name"];
$rufilename iconv("UTF-8","windows-1251","$filename");
$filetmpname $_FILES["Filedata"]["tmp_name"];
$fileType $_FILES["Filedata"]["type"];
$fileSizeMB = ($_FILES["Filedata"]["size"] / 1024 1000);

$message $_POST["checkbox"]."\r\r".$_POST["message"];
$rumessage iconv("UTF-8","windows-1251","$message")."\n\n"."image size: ".round ($fileSizeMB2) ." mb"."\n"."http://nicephoto/images/"."$rufilename";

mail($receiver$subject$rumessage$ruheaders);

if(
move_uploaded_file($_FILES["Filedata"]["tmp_name"], "images/".$newfilename))
{
    echo 
"answer=ok";
}
else
{
    echo 
"answer=error";
}
function 
imageResize($outfile,$infile,$neww,$newh,$quality
{
    
$im=imagecreatefromjpeg($infile);
    
$k1=$neww/imagesx($im);
    
$k2=$newh/imagesy($im);
    
$k=$k1>$k2?$k2:$k1;

    
$w=intval(imagesx($im)*$k);
    
$h=intval(imagesy($im)*$k);

    
$im1=imagecreatetruecolor($w,$h);
    
imagecopyresampled($im1,$im,0,0,0,0,$w,$h,imagesx($im),imagesy($im));

    
imagejpeg($im1,$outfile,$quality);
    
imagedestroy($im);
    
imagedestroy($im1);
}

imageResize("","images/$rufilename",640,240,75);
?>
так вообще не происходит никакого преобразования. если же в последней строчке PHP файла вместо images/$rufilename подставить имя уже существующего изображения и просто выполнить PHP файл в браузере - вылетают кракозябры. а с header, еще и ошибка отправки заголовка.

Старый 05.04.2009, 04:22
duhowka вне форума Посмотреть профиль Отправить личное сообщение для duhowka Найти все сообщения от duhowka
  № 8  
Ответить с цитированием
duhowka

Регистрация: Mar 2009
Сообщений: 317
мдааааа. С флешем не разбирался. Но по крайне мере стало понятно,почему у Вас php не правильно работает.
Постоянно пхп выплевывает нотисы и варнинги, кроме этого после if else выплевывается текст загрузилось или нет,понятно,что картинки не получится.... +другие ошибки.
Вот,что в итоге с моими комментами
PHP код:
<?php
$receiver 
"zzz@zzz.com";
$subject "zzz";
$newfilename "1.jpg"// не нашел откуда это береться, поэтому добавил сам.
$headers "From: " $_POST["name"] ." "."<" $_POST["email"] .">\r\n";
$headers .= "Reply-To: " $_POST["email"] . "\r\n";
$headers .= "Return-path: " $_POST["email"];
$ruheaders iconv("UTF-8","windows-1251","$headers");

$filename $_FILES["Filedata"]["name"];
$rufilename iconv("UTF-8","windows-1251","$filename");
$filetmpname $_FILES["Filedata"]["tmp_name"];
$fileType $_FILES["Filedata"]["type"];
$fileSizeMB = ($_FILES["Filedata"]["size"] / 1024 1000);

$message $_POST["checkbox"]."\r\r".$_POST["message"];
$rumessage iconv("UTF-8","windows-1251","$message")."\n\n"."image size: ".round ($fileSizeMB2) ." mb"."\n"."http://nicephoto/images/"."$rufilename";

mail($receiver$subject$rumessage$ruheaders);
//при проверке пришлось убить, локально почтовик не стоит.  Если что обрати внимание...

if(move_uploaded_file($_FILES["Filedata"]["tmp_name"], "images/".$newfilename))
{
   
// echo "answer=ok"; ошибка тут и тут
}
else
{
   
// echo "answer=error";  и тут
}
/* ну в смысле того, пхп выплевывает....
 лучше наверно вместо всего "if" написать
copy($_FILES["Filedata"]["tmp_name"], "images/".$newfilename) or die("НЕ СКОПИРОВАЛОСЬ И УМЕРЛО ")
*/
function imageResize($outfile,$infile,$neww,$newh,$quality)
{
    
$im=imagecreatefromjpeg($infile);
    
$k1=$neww/imagesx($im);
    
$k2=$newh/imagesy($im);
    
$k=$k1>$k2?$k2:$k1;

    
$w=intval(imagesx($im)*$k);
    
$h=intval(imagesy($im)*$k);

    
$im1=imagecreatetruecolor($w,$h);
    
imagecopyresampled($im1,$im,0,0,0,0,$w,$h,imagesx($im),imagesy($im));

    
imagejpeg($im1,$outfile,$quality);
    
imagedestroy($im);
    
imagedestroy($im1);
}

// imageResize("","images/$rufilename",640,240,75);  зачем тут images?  если в функции копирования  images/".$newfilename
//.....
imageResize("","images/$newfilename",640,240,75);
?>

Старый 06.04.2009, 03:21
loover вне форума Посмотреть профиль Отправить личное сообщение для loover Найти все сообщения от loover
  № 9  
Ответить с цитированием
loover
 
Аватар для loover

Регистрация: Mar 2009
Сообщений: 357
duhowka, огромное вам спасибо! а как теперь уменьшенное изображение скопировать в ту же (или другую) папку? мне это нужно для загрузки этой копии во flash и ее отображения.

Старый 06.04.2009, 04:18
duhowka вне форума Посмотреть профиль Отправить личное сообщение для duhowka Найти все сообщения от duhowka
  № 10  
Ответить с цитированием
duhowka

Регистрация: Mar 2009
Сообщений: 317
Все зависит от того, что Вы хотите получить от скрипта на выходе.
Если просто картинку на выходе, для вставки в флеш,то все как надо.
Если просто записать ресайзнутую картинку куда-либо, то
PHP код:
imageResize("$path_and_name_res_pic","images/$newfilename",640,240,75); 
, но при этом скрипт вообще ничего не выдаст.
Если хотите получить и сейв и картинку в окне,то вызовите с аргументом и без,т.е
PHP код:
imageResize("$path_and_name_res_pic","images/$newfilename",640,240,75); 
imageResize("","images/$newfilename",640,240,75); 

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:15.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:15.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.