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

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

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

Регистрация: Jul 2009
Сообщений: 4
По умолчанию Отправка файла AS2

Доброго времени суток!

Использую FileReference для отправки файлов на сервер... Проблема в том, что серверный скрипт просто не стартует... Тоесть сама загрузка после FileReference.upload() в /tmp проходит успешно, а PHP скрипт молчит (по любому при запуске он оставит лог-запись, чего он успешно не делает)... Тестировал локально - все работает! На хостинге - жопа!

Очень прошу, помогите, горю - 2ю ночь не сплю...

Юзаю Flash CS4

Стандарт SWF:
Flash 9
ActionScript 2.0

Старый 07.07.2009, 08:27
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 2  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Из браузера ваш скрипт нормально вызывается? Проверьте права на файл скрипта на сервере. И что значит "загрузка проходит успешно"?
Вот из фака http://www.flasher.ru/forum/showthread.php?t=78936


Последний раз редактировалось alexcon314; 07.07.2009 в 08:35.
Старый 07.07.2009, 16:00
freefaint вне форума Посмотреть профиль Отправить личное сообщение для freefaint Найти все сообщения от freefaint
  № 3  
Ответить с цитированием
freefaint

Регистрация: Jul 2009
Сообщений: 4
Цитата:
Сообщение от alexcon314 Посмотреть сообщение
Из браузера ваш скрипт нормально вызывается? Проверьте права на файл скрипта на сервере. И что значит "загрузка проходит успешно"?
Вот из фака http://www.flasher.ru/forum/showthread.php?t=78936
Спасибо за ваш ответ

Да из браузера скрипт нормально запускается, выводит на экран дату и оставляет лог в соседнем log.txt... А вот из флешки скрипт просто не запускается...

"Загрузка проходит успешно" - значит что судя по времени ожидания до события onComplete в зависимости от размеров загружаемых файлов, файлы заливаются-таки в /tmp, но должной обработки скриптом так и не происходит...

Опять-таки, локально все работает (ну не совсем локально, это корпоративный сервак с denwer, так что какое-никакое, но подобие полноценному хостингу) PHP срипту присвоены права шлюхи 777 Но это просто не имеет значения

Добавлено через 11 минут
извините, только что в ссылке на тему, вами запостенной, прочитал о System.security.allowDomain("http://yourdomain/");... прописал - опять сервер молчит


Последний раз редактировалось freefaint; 07.07.2009 в 16:02.
Старый 07.07.2009, 16:17
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 4  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
А какие вы отлавливаете ошибки/события на FileReference.upload()? И типа проверить папку /tmp на наличие якобы загруженного файла? Скрипт пхп и АС покажите. Что с кроссдоменной безопасностью у вас?

Старый 07.07.2009, 16:33
freefaint вне форума Посмотреть профиль Отправить личное сообщение для freefaint Найти все сообщения от freefaint
  № 5  
Ответить с цитированием
freefaint

Регистрация: Jul 2009
Сообщений: 4
да и crossdomain есть

PHP код:
<?
$handle 
file_exists('log.txt') ? fopen('log.txt''a') : fopen('log.txt''w+');
fwrite($handledate('d.m.Y H:i:s'time()) . "\r\n");
fclose($handle);
echo 
date('d.m.Y H:i:s'time());
if (
$_FILES['file']['name']) {
   
$uploadDir = isset($_GET['folder']) ? $_GET['folder'] : 'image';
   
$uploadFile $uploadDir '/' basename($_FILES['Filedata']['name']);
   
move_uploaded_file($_FILES['file']['tmp_name'], $uploadFile);
}

?>
Код AS1/AS2:
stop();
System.security.allowDomain("http://moscian.ru/");
System.security.allowDomain("http://localhost/");
import flash.net.FileReference
var FileLoader:FileReference = new FileReference();
var ListObj:Object = new Object();
 
FileLoader.addListener(ListObj);
var folder = 'image';
ListObj.onSelect = function() {
	gotoAndPlay(3);
	FileLoader.upload("uploader.php?folder=" + folder, 'file');
};
 
ListObj.onCancel = function(){
	gotoAndPlay(1);
};
 
ListObj.onUploadCompleteData = function(FileLoader:FileReference, error:Number){
	gotoAndPlay(5);
};
 
upload_btn.onPress = function(){
	gotoAndPlay(2);
	FileLoader.browse([{description:'Изображения (JPEG, PNG, GIF)', extension:'*.jpg;*.png;*.gif'}]);
}
 
ListObj.onComplete = function() {
	gotoAndPlay(4);
};
Кстати в том то и прикол, что даже событие UPLOAD_COMPLETE_DATA выводит true

Старый 08.07.2009, 09:35
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 6  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
onHTTPError, onIOEror ?
А вот так?
Код:
FileLoader.upload("uploader.php?folder=" + folder);
Код:
if ($_FILES['Filedataa']['name']) { 
   $uploadDir = isset($_GET['folder']) ? $_GET['folder'] : 'image'; 
   $uploadFile = $uploadDir . '/' . basename($_FILES['Filedata']['name']); 
   move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadFile); 
}

Старый 08.07.2009, 15:05
freefaint вне форума Посмотреть профиль Отправить личное сообщение для freefaint Найти все сообщения от freefaint
  № 7  
Ответить с цитированием
freefaint

Регистрация: Jul 2009
Сообщений: 4
Цитата:
Сообщение от alexcon314 Посмотреть сообщение
onHTTPError, onIOEror ?
А вот так?
Код:
FileLoader.upload("uploader.php?folder=" + folder);
Код:
if ($_FILES['Filedataa']['name']) { 
   $uploadDir = isset($_GET['folder']) ? $_GET['folder'] : 'image'; 
   $uploadFile = $uploadDir . '/' . basename($_FILES['Filedata']['name']); 
   move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadFile); 
}
Спасибо за всяческое содействие, пролема решена!

(Скрипты вам предоставил абстрактные, поэтому тамошние ошибки ни при чем)

Код AS1/AS2:
FileLoader.upload("uploader.php?folder=" + folder, "file")
Именно так, здесь 'file' - это идентификатор файла в массиве $_FILES

PHP код:
if ($_FILES['file']) echo 'Прислали'
Проблема заключалась в "умном" сотруднике техподдержки sweb.ru, утверждавшем о том, что их сервер по умолчанию настроен на прием любых данных, что чуть-ли стенка не стоит...

Зато в другой день дежурил толковый сотрудник, решивший проблему за 20 секунд по телефону! Результат поиска по проблемам в инете - 0! Итог - потеряна пара десятков часов рабочего времени.

Ответ на вопрос, который возможно пригодится массе разработчиков:

в .htaccess пишем:

Код:
SecFilterEngine Off

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

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

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


 


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


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