PDA

Просмотр полной версии : Flash/perl или /PHP - запись в текстфайл


alex3dsflash
15.11.2010, 17:48
Люди добрые! Помогите пожалуйста! В долгу не останусь. Отлично знаю 3D технологии, помогу с этим делом в благодарность. (научу быстро рисовать в 3d что угодно!) А у меня вот что. Мне нужно отправить реременные на сервер в file.txt в виде a=маша&b=Миша&c=люба и тд. Потом я их легко подгружу loadVars. Нужна подробная инструкция с кодом. Или на перл, или на пхп4 или на пхп5. Помогите!!! 8-916-201-73-18 Алексей. В благодарность запишу диск с софтом по 3d и пользоваться научу!!!

ObOs
15.11.2010, 18:14
<?
$fop = fopen("file.txt", "w");
$data="a=маша&b=Миша&c=люба";
fputs($fop,"$data");
fclose($fop);
?>

mooncar
15.11.2010, 18:30
var a:String = 'маша';
var b:String = 'Миша';
var c:String = 'Люба';

var str:String = 'a=' + a + '&b=' + b + '&c=' + c;

var send_lv:LoadVars = new LoadVars();
send_lv.str = str;

var recieve_lv:LoadVars = new LoadVars();
recieve_lv.onLoad = rvlOnLoad;

send_lv.sendAndLoad('http://site.ru/script.php', recieve_lv, 'POST');

function rvlOnLoad(success:Boolean)
{
if (success)
{
trace('Отправка удалась');
}
}

script.php :
<?php
$str = $_POST['str'];
$file = 'file.txt';
$fp = fopen($file, 'w');
fwrite($fp, $str);
fclose($fp);
echo 'ok'; //нужен отклик
?>
Не забыть поставить права на запись на file.txt, если он уже существует.

alex3dsflash
15.11.2010, 18:47
Огромное спасибо! только вот в чем дело - из флеша данные уходят так :
on (press) {
url = "http://www.denon-revolution.ru/file.php";
myLoadVars = new LoadVars();
myLoadVars.name1 = name1;
myLoadVars.score1 = score1;
name1 = "маша";
score1= "Миша;
итд
retVars = new LoadVars();
myLoadVars.sendAndLoad(url,retVars,"GET");
resultText = "Sending...";

retVars.onLoad = function() {resultText = "Done.";}
}
то есть откоыл пхп пустой файл, и туда записал? а ведь я не в ручную буду на серве это писать, как пхп поймет sendAndLoad?
а как $data (ей привоиться) nme1 = "маша"; ?? и это пхп5 или пхп4 и есть ли разница?

Добавлено через 1 минуту
а как поставить права на запись на file.txt ?

mooncar
15.11.2010, 18:59
1. Не пишите код на кнопках и клипах.

2. PHP все поймет.

3. При вашей записи предполагается передача скрипту переменных по отдельности и предполагается дальнейшая их сборка в строку вида "var1=val1&var2=val2..." на стороне сервера, в PHP. Так можно. Но я вам предложил в своем варианте передать готовую строку, а на стороне сервера просто ее записать в файл.

4. На UNIX права задаются атрибутами, точнее командой CHMODE. Права могут быть выражены числовым значением с тремя разрядами. В теорию вдаваться не стану (найдите и прочитайте сами), права на файл должны быть выставлены минимум 660. (Системный пользователь Apache, который будет использовать файл, обычно входит в группу, права которой заданы во втором разряде).
В FTP-клиентах есть обычно есть возможность их задать (Attributes (CHMODE)) Пути к файлу также проверьте в скрипте.

alex3dsflash
15.11.2010, 19:52
Огромное спасибо! Буду пробовать, у меня хостинг на mtw мне наверно надо им звонить по поводу установки прав на файл...
А по поводу 3d я серьезно, если надо, звоните или пишите. тел в первом сообщении.

mooncar
15.11.2010, 20:19
Огромное спасибо! Буду пробовать, у меня хостинг на mtw мне наверно надо им звонить по поводу установки прав на файл...
У вас нет FTP-доступа к файлам? А как вы заливаете на хостинг файлы?

А по поводу 3d я серьезно, если надо, звоните или пишите. тел в первом сообщении. Спасибо, буду иметь ввиду :)

alex3dsflash
15.11.2010, 22:24
доступ есть флашфхр все разобрался атрибуты 777 поставил но воттттт........
УРРА!!!! ЗАРАБОТАЛО!!!! но... вот что записалось в файл...a=маша&b=Миша&c=Люба как русский язык шрифт включить???

mooncar
15.11.2010, 23:43
Проверьте сперва трейсом строку, какая передается из флеш.
trace(str);

В принципе флешка должна передать данные в кодировке utf-8, и php тоже в ней записать данные должно.
Кстати, надеюсь у вас не стоит во флешке что-нибудь навроде
System.useCodepage = true ; ?

В общем, везде должно быть utf-8.