Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с $GLOBALS["HTTP_RAW_POST_DATA"], потеря передача данных 
:(
    Опции темы
Zmiuko
Дата 21.12.2008, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: нет
Всего: 2



У меня проблема. Написал флеш-приложение, на подобие Граффити-Вконтакте с передачей png-изображение php-скрипту для последующего сохраниния картинки на сервере.

Код php-скрипта следующий:


Код

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); 

$image_data = $GLOBALS["HTTP_RAW_POST_DATA"] ;
$filename_to_save = "pic.png";

if(isset($image_data)){
    $png_file = fopen($filename_to_save, "wb") or die("File not opened!");
    if($png_file){
          set_file_buffer($png_file, 20);
          fwrite($png_file, $image_data);
          fclose($png_file);
    }
}


Проблема в следующем:

На локале при различных серверах, будь то собранные библиотеки и Апач, будь то Денвер - работа клипа и сохранение рисунка через скрипт идет исправно и безошибочно.
При загрузке на сервер происходит либо неправильное сохранение рисунка, либо его частичное обрезание.

Примечание: php.ini редактировать не могу.



PM MAIL WWW ICQ Skype Jabber   Вверх
MoLeX
Дата 22.12.2008, 07:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 0
Всего: 140



ну тут может многое быть, начиная от нехватки времени и заканчивая ....


Цитата(Zmiuko @  21.12.2008,  21:43 Найти цитируемый пост)
$GLOBALS["HTTP_RAW_POST_DATA"] ;

а что это такое  smile 
даже и не знаю


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
solenko
Дата 22.12.2008, 07:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 2
Всего: 67



Zmiuko, возможно magic_quotes? Я не уверен, но они могут повлиять и на RAW

MoLeX, весьма нужная вещь. Очень часто используется, когда нужно организовать классический web-вервис, т.к. это подразумевает отправку xml как тела post запроса. Соответсвенно, PHP не может его преобразовать в хеш и приходится забирать из RAW


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
MoLeX
Дата 22.12.2008, 07:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 0
Всего: 140



solenko, спасибо за разъяснения, даже и не знал об этом. 
век живи, век учись - эта поговорка тут как раз подходит)))


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Zmiuko
Дата 22.12.2008, 08:03 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: нет
Всего: 2



Цитата(solenko @  22.12.2008,  07:36 Найти цитируемый пост)
Zmiuko, возможно magic_quotes? Я не уверен, но они могут повлиять и на RAW




solenko, magic_quotes не реашет проблемы, поскольку со стороны сервера похоже идет ограничение на длину переменной. Возможно ли альтернативное решение? Просто уже, ребята, ниче в голову не идет, а иного способа данные из флеш не перебросить - $GLOBALS["HTTP_RAW_POST_DATA"]  нужна как воздух.
PM MAIL WWW ICQ Skype Jabber   Вверх
solenko
Дата 22.12.2008, 08:16 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 2
Всего: 67



Zmiuko, ограничение на размер переменной накладывается через max_post_size, но не думаю что это оно, т.к. обычно этит параметр выставляется в 2-8М. Картинка столько весить, по идее, не должна.

А по поводу размера -- попробуйте отправить один и тоот же запрос на локалхост и на сервер (политика безопасности в флеше это позволяет?) и сравнить файлы (если размер приблизительно одинаков, то с помощью fc). 


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
MuToGeN
Дата 22.12.2008, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 4
Всего: 32



MoLeX, просто когда встает задача синхронизации данных между КИС и веб-сервером, выяняется, что ни 1С, ни самописные системы на дотнете не умеют отправлять данные иным образом.


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Zmiuko
Дата 22.12.2008, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: нет
Всего: 2



Цитата(MuToGeN @  22.12.2008,  08:23 Найти цитируемый пост)
MoLeX, просто когда встает задача синхронизации данных между КИС и веб-сервером, выяняется, что ни 1С, ни самописные системы на дотнете не умеют отправлять данные иным образом. 


Вот-вот! smile


solenko, сделал следующее:

Код

$rawPost = strcasecmp($_SERVER['REQUEST_METHOD'], 'POST') == 0? (isset($GLOBALS['HTTP_RAW_POST_DATA'])? $GLOBALS['HTTP_RAW_POST_DATA'] : @file_get_contents("php://input")) : null;
$source = array(
'_POST'=> !empty($GLOBALS['HTTP_RAW_POST_DATA'])? $GLOBALS['HTTP_RAW_POST_DATA'] : null,
'_POST'=> $rawPost,
);


$image_data = $source['_POST'];
$cod = rand(0, 999999999);
$filename_to_save = "pic.png";




if(isset($image_data)){
    $png_file = fopen("./im/".$filename_to_save, "wb") or die("File not opened!");
#    if($png_file){
#          set_file_buffer($png_file, 20);
          fwrite($png_file, $image_data);
          fclose($png_file);
    }
#}


Картинка сохраняется на локалхосте и на сервере совершенно по-разному.

Обе имеют "открывашку" PNG-файла  "‰PNG"  и конец файла "IEND®B`‚" , как видите переменная передает именно рисунок, иначе бы он резал концовку.

Но содержания второго рисунка та что на сервере сохраняется имеет неправельный формат!

Добавлено через 12 минут и 54 секунды
Флеш-клип уже не переписать. Возможно ли как либо изменить скрипт приема данных?
PM MAIL WWW ICQ Skype Jabber   Вверх
nerezus
Дата 23.12.2008, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Zmiuko, у тебя случайно d поиске по phpinfo не встречается слово Suhosin?
Если да, то требуй у админов хоста, чтобы убрали все кривые патчи.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Zmiuko
Дата 23.12.2008, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: нет
Всего: 2



Цитата(nerezus @  23.12.2008,  12:30 Найти цитируемый пост)
Zmiuko, у тебя случайно d поиске по phpinfo не встречается слово Suhosin?
Если да, то требуй у админов хоста, чтобы убрали все кривые патчи. 


Угарать будешь - там на phpinfo() запрет стоит ))) нету функции.
PM MAIL WWW ICQ Skype Jabber   Вверх
nerezus
Дата 23.12.2008, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Zmiuko, потребуй убрать ограничение и посмотри.
Я почти уверен, что админ дурак человек альтернативного склада ума  и что-то накосячил.

Это сообщение отредактировал(а) nerezus - 23.12.2008, 21:09


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0540 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.