Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 11/01/13 в 15:46 |
сгенерил XML файл нижеприведенным кодом
Код: [развернуть] |
<?php
$content = file_get_contents("shablon.tpl");
$file = file("base.dat");
$loc = "";
$count = count($file);
//$lines = explode( "\n", $file );
for( $i = 1; $i < $count; $i += 1 )
{
$res = explode( "|", $file[ $i ] );
$loc .=
'<data>
<id>'.$res[0].'</id>
<shows>'.$res[1].'</shows>
<clicks>'.$res[2].'</clicks>
<ctr>'.$res[3].'</ctr>
<resets>'.$res[4].'</resets>
<tctr>'.$res[5].'</tctr>
<url>'.$res[6].'</url>
<thumb>'.$res[7].'</thumb>
<title>'.$res[8].'</title>
<desc>'.$res[9].'</desc>
<width>'.$res[10].'</width>
<height>'.$res[11].'</height>
<unixtime>'.$res[16].'</unixtime>
</data> ';
}
$body = $loc;
$content = str_replace('{body}', $body, $content);
file_put_contents('./bd.xml', $content);
?>
|
все вроде нормально но вот когда открываю хмл файл в блокноте </data> <data> стоят на одной строке, незнаю на сколько это важно, попытался в пхп коде сделать перенос, но что-то не вышло, может не так делал. ну это не основной вопрос.
Вот чем задался. Заключенных в тэг <data> </data> данных несколько тысяч вариантов, вот тут появился вопрос, возмо жно ли на основе этих данных создать станицы по шаблону с постраничной навигацией?
|
|
|
|
+ + +
С нами с 19.12.12
Сообщения: 281
Рейтинг: -50
|
Добавлено: 11/01/13 в 16:09 |
если переносы важны используй двойные скобки + \n. Да можно, есть даже движок который работает на xml.
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 11/01/13 в 18:46 |
|
|
|
|
Добрых Дел Мастер
С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227
|
Добавлено: 11/01/13 в 19:00 |
на одной строке потому что и в коде на одной строке. или ты в ворде код пишешь?
это просто тебе редактор кода показывает как тебе удобнее видеть. а так вся строка на одной строке.
<?php
$a = 'вся
эта
срань
будет
на одной
строке';
но не в CLI-режиме
|
|
пришел к победе коммунистического труда
|
8
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 11/01/13 в 21:21 |
я просто не нашел другого выхода как просто сгенерить .xml из имеющихся данных в текстовом файле. Да и плюс как то ковырял пхп функции для XML но они не работали хотя и ПХП 5, но видимо что то не подключено из модулей или библиотек.
нужно будет еще покорвырять насчет многостраничности.
|
|
|
|
С нами с 03.02.11
Сообщения: 842
Рейтинг: 301
|
Добавлено: 13/01/13 в 14:01 |
FXIX писал: | на одной строке потому что и в коде на одной строке. или ты в ворде код пишешь?
это просто тебе редактор кода показывает как тебе удобнее видеть. а так вся строка на одной строке.
<?php
$a = 'вся
эта
срань
будет
на одной
строке';
но не в CLI-режиме |
а при чем тут CLI режим? вся эта срань, если смотреть не через браузер, будет с новой строки, как и написано.
совершенно не понятно, почему у ТС не разбито на строки... мож блокнот поменять?))) я вот бился-бился - так и не добился, чтоб в одну строку вышло. только если браузером зырять. а глянь в исходник - так все пучком, с новой строки...
пхп, конечно, игнорирует лишние пробелы и перевод каретки и новые строки, но лишь до тех пор, пока это не текстовая величина.
"это просто тебе редактор кода показывает как тебе удобнее видеть." - да што же это за такое? редактор, что, хранит в отдельном файле переносы строк? или заменяет их на "тут чувак жмакнул энтэр" и при выводе на экран заменяет на \r\n? видимо ты точно в ворде напрогался, что плющит тебя так))) фар, блокнот, scite, исходник (в опере CTRL+U) - везде заебись. остается афтару пожелать сделать все то-же, но только... в блокноте. и проверь еще раз. не может быть, чтоб в одну строку лепило...
и еще: ты не закрыл ?> а вообще шорт-таги рулят - Код: | <?='ламеры всегда пишут "<?php" - видимо, это придает некую особую значимость их коду. типа, не питон какой-то, а, бля, целый пхп!))))'?> |
что выведет это код? прикинь, ни тебе принта, ни тебе эхо, ни пхп - а оно пишет, ебааааать... пойду еще дуну...
|
|
|
|
С нами с 03.02.11
Сообщения: 842
Рейтинг: 301
|
Добавлено: 13/01/13 в 14:11 |
Yacc писал: | Генерить xml конкатенируя строки это конечно мило, но моветон. Когда возьмёшься за генерацию шаблонов, ты это поймёшь. |
а по твоему милее юзать хер знает какой тяжести и глючности вшитые дебильные функции? в данном примере генерится очень простой хмл, и нет необходимости юзать ужасно тяжелые и тупые хмл функции. и как бы это ни было мило, но в конце концов некая функция конкатенирует строки, иначе никак. а ты предлагаешь за глаза нагенерить говнофукциями, загрузить проц на еще несколько тысяч тактов какой-то полной херней... ну-ну... сразу видно, ты даже не знаешь, во сколько раз тяжелее (x==y) чем (x===y) (при условии однотипности данных)...
всем удачи!
|
|
|
|
С нами с 03.02.11
Сообщения: 842
Рейтинг: 301
|
Добавлено: 13/01/13 в 14:19 |
а, бля. только заметил. сорри.
вместо
</data> ';
напиши
</data>
'; //ага, это перенос строки.
и будет счастье. ступил накурившись бухнувши)))) столько буков, а чего никто не сказал автору сделать это?
блин, пацаны, извиняйте, набуянил не в тему. вот так работают умозаключения... надо с этим бороться...
еще раз извините, кому насыпал не в попад...
и вообще, моветон - это не писать ассемблерные вставки в коде на Си, остальное - вообще хрень какая-то...
|
|
|
|
+ + +
С нами с 19.12.12
Сообщения: 281
Рейтинг: -50
|
Добавлено: 14/01/13 в 10:24 |
Lexikon:
Более трушный код для работы с xml.
Код: [развернуть] | <?php
$content = file_get_contents("shablon.tpl");
$file = file("base.dat");
$count = count($file);
$body = new SimpleXMLElement($xmlstr);
//$lines = explode( "\n", $file );
for( $i = 1; $i < $count; $i += 1 )
{
$res = explode( "|", $file[ $i ] );
$body->data[$i]->->addChild('id', $res[0]);
$body->data[$i]->->addChild('clicks', $res[1]);
$body->data[$i]->->addChild('id', $res[2]);
$body->data[$i]->->addChild('ctr', $res[3]);
$body->data[$i]->->addChild('resets', $res[4]);
$body->data[$i]->->addChild('tctr', $res[5]);
$body->data[$i]->->addChild('url', $res[6]);
$body->data[$i]->->addChild('thumb', $res[7]);
$body->data[$i]->->addChild('title', $res[8]);
$body->data[$i]->->addChild('desc', $res[9]);
$body->data[$i]->->addChild('width', $res[10]);
$body->data[$i]->->addChild('height', $res[11]);
$body->data[$i]->->addChild('unixtime', $res[16]);
}
$content = str_replace('{body}', $body->asXML(), $content);
file_put_contents('./bd.xml', $content);
?> |
Для того чтоб сайт работал на xml, глянь здесь
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 14/01/13 в 18:33 |
AWD писал: | и еще: ты не закрыл ?> |
где?
AWD писал: | <?='ламеры всегда пишут "<?php" - видимо, это придает некую особую значимость их коду. типа, не питон какой-то, а, бля, целый пхп!))))'?> |
на том же http://php.net тоже пишут, да и если я его писать не буду мне это мозгов не придаст. А хуже от того, что я написал php уж точно не будет.
|
|
|
|
Добрых Дел Мастер
С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227
|
Добавлено: 14/01/13 в 18:42 |
да. любой файл открывается <?php.
а вот закрывать не надо. это давно известный факт. ну если файл чисто на пхп.
тромбоцит правильно SimpleXML заюзал. если есть стандартный путь - зачем мучить своё
|
|
пришел к победе коммунистического труда
|
1
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 14/01/13 в 18:47 |
да и кстати я не в ворде всё это просматриваю
|
|
|
|