Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Интернет-языки

Страница: 1 |

 

  Вопрос: ActionScript 3.0: Сохранить текст в файл на сервак Добавлено: 02.06.08 23:35  

Автор вопроса:  Morpheus | Web-сайт: xury.zx6.ru
собсно сабж... никто не знает? пишу гостевуху и вот наткнулся на систему безопасности флеша, которая не даёт легко писать текст в файл.

После обширного гугелнья, нашёл вот эти коды:

Этот пишем в ПХП файл:


$filename = "external.txt";

//insert votes to txt file
$insertpost = $_REQUEST['content'];
$fp = fopen($filename,"w"); // "w" means write-only
fputs($fp, $insertpost);
fclose($fp);



а это пишем во флеш:

function myRequestPostSender():void
{
    var myRequest:URLRequest = new URLRequest("external.php");
    myRequest.data = "This is the data I want to send";
    myRequest.method = URLRequestMethod.POST;
    navigateToURL(myRequest);
}
myRequestPostSender();


ну так вот: когошко с пхп открывается, код вроде выполняется, но ничё не пишется. Причём, если заменить $insertpost = $_REQUEST['content']; на $insertpost = моя_блин_строка_заданная_тут_же, то вот эта строка в файл пишется. видимо проблема с передачей инфы между флешом и ПХПшником. оба файла лежат в одной папке на серваке поддеживающий пхп.. хз какой версии правда.

Никто не подскажет в чём глюк?
Заранее благодарен!

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 03.06.08 11:10
Во-первых, отдели мух от котлет. Флэш это клиентская технология и писать сама по себе она может только в специальное локальное хранилище на компе юзера. Во-вторых, для того, чтобы из флэша что-то записать на сервере, нужно вызвать серверный скрипт, да. В-третьих, ОТКЛЮЧИ register_globals, большего зла во всем мире IT не существует. В-четвертых, для получения POST-параметров в PHP используется суперглобальный массив $_POST. В-пятых, проще использовать file_put_contents, чем открыть/записать/закрыть.

Ответить

Номер ответа: 2
Автор ответа:
 Morpheus



Вопросов: 222
Ответов: 3769
 Web-сайт: xury.zx6.ru
 Профиль | | #2
Добавлено: 03.06.08 15:43
1) Ну, я согласен что писать флеш не може, благо что сервак поддерживает пхп. С этим проблем нет - я имел дело с пхп.
2) Это и делаем.
3) register_globals - это что? я даже не иогу найти в коде это.
4)$_POST - это самая первая штука которуя попробывал вместо $_REQUEST. Но какую перменную она должна читать? "content" ? По моему не работало.
5) file_put_contents? ээээ... ну, может как остальное заработает - займусь оптимизацией. мне бы лучше функцию которая в начало файла может текст добавить без перезаписи остального (ну, да - я могу открыть, считать, прибавить строку вначали и записать обратно - если нет быстрого пути, сделаю именно так).

А всё таки, в чём проблемав передачи данных? в $_REQUEST['content']; ?

Ответить

Номер ответа: 3
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 235
Ответов: 8360
 Профиль | | #3 Добавлено: 04.06.08 03:48
3) register_globals - это что? я даже не иогу найти в коде это.

В php.ini или ini_set("register_globals", 0);

4)$_POST - это самая первая штука которуя попробывал вместо $_REQUEST. Но какую перменную она должна читать? "content" ? По моему не работало.

сделай var_dump($_REQUEST) и посмотри что вообще приходит, под каким именем...

А всё таки, в чём проблемав передачи данных? в $_REQUEST['content']; ?

Данные разными методами передаваться могут, гет, пост, хеад.. а ты конкретно в AS указал
myRequest.method = URLRequestMethod.POST;

Поэтому и в PHP принимай через $_POST.

Ответить

Номер ответа: 4
Автор ответа:
 Morpheus



Вопросов: 222
Ответов: 3769
 Web-сайт: xury.zx6.ru
 Профиль | | #4
Добавлено: 05.06.08 20:09
var_dump - зашибись... спасибо Хакер! баг был в том что надо читать не "content", a ""?contents"" lol...

щас попробую сделать чтоб это всё работало... POST тоже вреоде пашет

Ответить

Номер ответа: 5
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 235
Ответов: 8360
 Профиль | | #5 Добавлено: 06.06.08 02:17
на тебе "крутую" функцию :)

/**
* cool print_r :)
* @params (mixed) -> vars to print
*/
function pa()
{
$backtrace = debug_backtrace();
$args = func_get_args();
$matches = array();
preg_match('|.*[\/\\\];(.+)$|', $backtrace[0]['file'], $matches);
$res = array($matches[1].': '.$backtrace[0]['line'], $args);
echo "<pre>";
print_r($res);
echo "</pre>";
}


берешь теперь
pa ($_REQUEST);
и зашибись :)

Ответить

Страница: 1 |

Поиск по форуму





© Copyright 2002-2011 VBNet.RU | Пишите нам