PDA

Просмотр полной версии : загрузка текста не работает


3r0jan
20.06.2006, 16:25
почему не работает ?
var my_xml:XML = new XML();
var fname:String = "loads.php";
nik = "analiz.txt"
my_xml.ignoreWhite = true;
my_xml.load(fname, 0, "POST");

php дожен выбрать файл который вывести в флэш надо


:wacko:

iNils
20.06.2006, 16:28
А что именно не работает?
Кстати у load кроме как урла нет других аттрибутов. Так что это '0, "POST"' лишнее.

3r0jan
20.06.2006, 16:35
А что именно не работает?
Кстати у load кроме как урла нет других аттрибутов. Так что это '0, "POST"' лишнее.
если лишнее тогда как мне передать в скрипт данный из переменной nik ?

смысл в том что в папке с php скриптом лежит куча txt файлов с разными названиями и php должен выводить в флэш именно тот фыйл который указан в переменной nik

iNils
20.06.2006, 16:44
если лишнее тогда как мне передать в скрипт данный из переменной nik ?
var my_xml:XML = new XML ();
var fname:String = "loads.php";
nik = "analiz.txt";
my_xml.ignoreWhite = true;
my_xml.load (fname + "?nik=" + nik);

artcraft
20.06.2006, 16:47
Кстати у load кроме как урла нет других аттрибутов. Так что это '0, "POST"' лишнее.

подобный баг вчера нашёл в хелпе к F8
в топике LoadVars.onData есть такой пример:
var my_lv:LoadVars = new LoadVars();
my_lv.onData = function(src:String) {
if (src == undefined) {
trace("Error loading content.");
return;
}
content_ta.text = src;
};
my_lv.load("content.txt", my_lv, "GET");
хотя в топике LoadVars.load написано что у метода лоад только один параметр - url

iNils
20.06.2006, 16:56
Это еще с хелпа 7-ки пошло.
http://livedocs.macromedia.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002332.html
Здесь есть коммент указывающий на эту ошибку.

3r0jan
20.06.2006, 16:57
и что же делать ?
переписывать в LoadVaribleNum ? дл ямну енто не вариант (

etc
20.06.2006, 16:57
Перепутали с sendAndLoad

iNils
20.06.2006, 17:02
и что же делать ?
переписывать в LoadVaribleNum ? дл ямну енто не вариант (
Читайте пост номер 4.

3r0jan
20.06.2006, 17:31
во работает ) тоесть трэйс выводит то что в тхт но не работает (
потому что какимто макаром из тхтIndestructible&0-1;1-2;2-3;3-4;4-5;0-6;1-7;2-8&0-1;1-2;2-3;3-4;4-5;0-6;1-1;2-2
Indestructible&0-1;1-2;2-3;3-4;4-5;0-6;1-7;2-8&0-1;1-2;2-3;3-4;4-5;0-6;1-1;2-2
получается массив вот такой
строка лишняя(пустая)
строка лишняя(пустая)
Indestructible&0-1;1-2;2-3;3-4;4-5;0-6;1-7;2-8&0-1;1-2;2-3;3-4;4-5;0-6;1-1;2-2
строка лишняя(пустая)
Indestructible&0-1;1-2;2-3;3-4;4-5;0-6;1-7;2-8&0-1;1-2;2-3;3-4;4-5;0-6;1-1;2-2

а вот сам php

$$nik = "$nik";

#Открывает файл для чтения.

$fp = fopen( $nik,"r");
$Data = fread($fp, 80000);
fclose( $fp );

print "$Data";


в чём беда ?

3r0jan
20.06.2006, 18:25
никто ненает как убрать пустые строки ?
:wacko:

iNils
20.06.2006, 18:27
А откуда мы знаем как вы принятые данные обрабатываете?

3r0jan
20.06.2006, 18:40
вот так типа )
x = 10;
//начальная точка по оси х
y = 35;
//начальная точка по оси у
w = 10;
//ширина
h = 10;
//высота
sh = h+3;
//расстояние между кубами
x2 = x;
y2 = 4*sh+h+40;
pict = "yd";
//цвета
//
col1 = [0x000000, 0x000000];
col2 = [0xFF0000, 0xFF0000];
col3 = [0xFF00FF, 0xFF00FF];
col4 = [0x009900, 0x009900];
col5 = [0xCCCCCC, 0xCCCCCC];
col6 = [0xFFCC00, 0xFFCC00];
col7 = [0x663300, 0x663300];
col8 = [0x666666, 0x666666];
//выбор типа боя
tip = ".txt";
//тип файла с логом
function onClick(evt) {
my_list = evt.target.selectedRadio;
if (my_list == _level0.multiple_rb1) {
my_list = "кулачный";
}
if (my_list == _level0.multiple_rb2) {
my_list = "с оружием";
}
if (my_list == _level0.multiple_rb3) {
my_list = "все бои";
}
}
//конец выбора
radioGroup.addEventListener("click", onClick);
load.onRelease = function() {
var my_xml:XML = new XML();
var fname:String = "http://recruits.hsparta.ru/analiz/loads.php";
nik = nikName+tip;
my_xml.ignoreWhite = true;
my_xml.load(fname+"?nik="+nik);
my_xml.onData = function(str) {
trace(str)
func = "ok";
my_arr = str.split("\n");
for (ig=0; ig<my_arr.length; ig++) {
var mc = createEmptyMovieClip("igrok"+ig, ig);
mc._y = y;
my_arr = my_arr[ig].split("&");
with (mc) {
alphas = [100, 100];
ratios = [0, 0xFF];
lineStyle(1, 0x000000);
matrix = {a:500, b:0, c:0, d:0, e:200, f:0, g:350, h:200, i:1};
numm = my_arr[1].split(";");
numm2 = my_arr[2].split(";");
for (j=0; j<numm.length; j++) {
numm3 = numm[j].split("-");
pict = "yd"+numm3[1];
for (i=0; i<5; i++) {
if (numm3[0] == i) {
if (numm3[1] == 1) {
colors = col1;
//1удачный удар
}
if (numm3[1] == 2) {
colors = col2;
//2критический удар
}
if (numm3[1] == 3) {
colors = col3;
//3крит + инвалидность
}
if (numm3[1] == 4) {
colors = col4;
//4доп.магический удар
}
if (numm3[1] == 5) {
colors = col5;
//5противник блокировал
}
if (numm3[1] == 6) {
colors = col6;
//6увернулся
}
if (numm3[1] == 7) {
colors = col7;
//7парировал
}
if (numm3[1] == 8) {
colors = col8;
//8отбил щитом
}
} else {
colors = [0x336699, 0x336699];
}
beginGradientFill("linear", colors, alphas, ratios, matrix);
moveTo(x+j*sh, y+i*sh);
lineTo(x+w+j*sh, y+i*sh);
lineTo(x+w+j*sh, y+h+i*sh);
lineTo(x+j*sh, y+h+i*sh);
lineTo(x+j*sh, y+i*sh);
endFill();
}
}
for (j2=0; j2<numm2.length; j2++) {
numm4 = numm2[j2].split("-");
for (i2=0; i2<5; i2++) {
if (numm4[0] == i2) {
if (numm4[1] == 1) {
colors = col1;
//удачный блок
}
if (numm4[1] == 2) {
colors = col2;
//пробили блок критом
}
if (numm4[1] == 3) {
colors = col3;
//пропустил удар
}
if (numm4[1] == 4) {
colors = col4;
//увернулся
}
if (numm4[1] == 5) {
colors = col5;
//парировал
}
if (numm4[1] == 6) {
colors = col6;
//отбил щитом
}
} else {
colors = [0x336699, 0x336699];
}
beginGradientFill("linear", colors, alphas, ratios, matrix);
moveTo(x2+j2*sh, y2+i2*sh);
lineTo(x2+w+j2*sh, y2+i2*sh);
lineTo(x2+w+j2*sh, y2+h+i2*sh);
lineTo(x2+j2*sh, y2+h+i2*sh);
lineTo(x2+j2*sh, y2+i2*sh);
endFill();
}
}
}
}
};
};

Madasan
20.06.2006, 18:44
попробуй так выводить:

echo $Data;

Madasan
20.06.2006, 18:52
Еще можно использовать file_get_contents (http://ru.php.net/manual/ru/function.file-get-contents.php)

3r0jan
20.06.2006, 18:53
пробовал бесполезно

Madasan
20.06.2006, 19:00
строка лишняя(пустая)Если дело в лишней пустой строке, то нужно разобраться php передает эту пустую строку или во флэш коде ошибка.

3r0jan
20.06.2006, 19:11
во флэш коде ошибки нету потому как если гружу напрямую этот самый текстовой файл то всё работает нормально ... а вот через php нехочет (

помогите кто можеть :(

Madasan
20.06.2006, 19:18
А что такое php добавляет? Пустую строку? если текстовую переменную вывести echo, то никакой лишней пустой строки не должно быть, значит она либо в текстовом файле имеется, либо надо правильно из файла в текстовую переменную считать.

3r0jan
20.06.2006, 19:28
http://recruits.hsparta.ru/analiz/loads.php?nik=analiz.txt
выводит через браузер вроди нормально =/ но почему в одну строчку когда там две строки в файле
тогда я вопще ничего не понимаю

Madasan
20.06.2006, 19:33
Само собой в строчку, перенос строки можно увидеть если вывести так
echo '<pre>'.$Data.'</pre>';

etc
20.06.2006, 19:34
А где там XML? Может всё-таки лучше парсить XML?

Madasan
20.06.2006, 19:46
А где там XML? Может всё-таки лучше парсить XML?Да лучше вообще flash remoting использовать. :)

3r0jan
20.06.2006, 20:07
спасибо одной не зарегестрированной тут девушке )))
выход типа такой
my_arr = str.split("\n\r");

etc
20.06.2006, 21:11
Madasan, но все же XML лучше парсинга подобных строк.

3r0jan (во ники пошли), лучше \r вообще убивать в php при выводе.

3r0jan
20.06.2006, 22:38
так а откуда енто вопще появилось ?

etc
21.06.2006, 00:37
Это win переводы строк