Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Template'y - problem z zamiana znacznikow na wlasciwy kod
Forum PHP.pl > Forum > PHP
lukass
Witam
Mam problem :/

Mam plik index.tmpl - template, ktory wyglada tak:
Kod
<html>

<#dupajas>

</html>

i chcialbym aby w petli for gdzie $a rosnie od 0 do 6
zamienial <#dupajas> z tego pliku template na wartosc $a i
zapisywal zmieniony plik template do pliku $a.html

[php:1:ef6c503a15]
$template=file('index.tmpl');
for ($a=0;$a<6;$a++)

{
$plik=fopen("$a.html",'a');
fputs($plik,$template[$a]);
str_replace("<#dupajas>",$a,$plik[$a]);
fclose($plik);
}
[/php:1:ef6c503a15]
to narazie to do czego doszedlem, zapisuje jakies glupoty i nie zamienia nic :/
Prosilbym o pomoc... TIA
Seth
Po piewsze zapoznaj sie z BBCodem (na forum php jest temat traktujacy o tym) i zmien swojego posta zgodnie z zaleceniami tego tematu.

[php:1:ad0f60bc6f]$template=file('index.tmpl');

for ( $a=0; $a<6; $a++ )
{
$plik = fopen( "$a.html", 'r+' );
fwrite( $plik, str_replace( '<#dupajas>', $a, fread( $plik, $template[$a] ) );
fclose($plik);
}[/php:1:ad0f60bc6f]
lukass
Przepraszam za moje zle wejscie, ale siedze na modemie i akurat probuje to zalatwic jak najszybciej nie czytajac zasad a jestem tu pierwszy raz od dluzszego czasu, mam nadzieje ze sie nikt nie pogniewa.

Tak co do kodu to jest literowka (brakuje nawiasu ')'), ale to i tak nie rozwiazuje problemu :/ pozniewaz wyrzuca mi blad ze nie widzi plikow (nie tworzy ich przez r+), zmienilem to na a/a+, wtedy tworzy pliki ale sa puste (maja zero bajtow)...

Jesli moge prosic o dalsza pomoc, bede naprawde zobowiazany...

Pozdrawiam

Lukasz Bien
Seth
Sorry moj blad... za szybko przejzelam posta...

Ale po pierwsze jezeli chcesz zamienic plik index.tmpl to nie wiem dlaczego uzywasz do tego file() ? Powinienes pobrac caly plik do jednego stringu.

Po drugie otwierasz pliki <1-6>.html i chcesz podac zamianie jedna linie wykorzystujac file uzywajac wskaznika :? Po co ?
lukass
udalo mi sie w koncu, posiedzialem pare minut i dziala smile.gif

[php:1:a2474e6bae]
$template="index.tmpl";

for ($a=0;$a<6;$a++)
{
$tmpl = fopen($template,"r+");
$plik = fopen("$a.html",'a');
$content = str_replace("<#dupajas>",$a,fread($tmpl,20000));
fputs($plik,$content);
fclose($plik);
fclose($tmpl);
}
echo "done smile.gif";
[/php:1:a2474e6bae]

Moze sie to komus przyda, tak na marginesie to dopiero poczatek, skrypt bedzie musial jeszcze wiele przeliczac i zamieniac kolo 5 znacznikow z czego jeden bedzie tablica (pobierane dane beda z innego pliku) sortowana w kazdym pliku smile.gif

Pozdrawiam

Lukasz Bien
kurtz
Cytat
..
tak na marginesie to dopiero poczatek, skrypt bedzie musial jeszcze wiele przeliczac i zamieniac kolo 5 znacznikow z czego jeden bedzie tablica (pobierane dane beda z innego pliku) sortowana w kazdym pliku :)
hej

przy okazji: moze warto zaintersowac sie gotowymi systemami szablonow? ;)

pozdrawiam
lukass
Takich systemow jeszcze nie ma a jak sa to kosztuja niezla kaske smile.gif)
To taki specjalny system i watpie zeby byl wogole dostepny smile.gif.
Seth
8O
A to znasz: smarty.php.net :?:
kurtz
Cytat
Takich systemow jeszcze nie ma a jak sa to kosztuja niezla kaske :)).
w pyhypy? to mnie zdziwiles. bezplatnych jest kilkanascie (dziesiat?).


pozdrawiam
[fisher]
witam

ja uzywam od niedawna smarty jako system szblonow i jestem z niego bardzo zadowolony.

Jednakze smarty wpadlo mi w rece dosc przypadkowo, moze zatem na forum powinien byc jakis dzial dot. smarty, zeby zasygnalizowac jego istnienie?
myslicie ze mialoby to sens ? ja bylbym za

pozdrawiam
kwiateek
Ja bym byl za ale to juz sprawa na osobny temat.
lukass
Tu nie chodzi o sam system template'ow bo taki to juz jest (jak widac) ale o system ktory generuje strony wg pewnych kryteriow zamieniajac odopwiednio znaczniki. A takich nie widzialem jeszcze smile.gif.

Zreszta dzisiaj juz zakonczylem prace nad nim, dziala niezle, tylko problem jest bo wiekszej ilosci danych nie przetrawi i teraz mysle nad polepszeniem go.

Narazie generuje do 300 stron (tyle testowalem) w 20 pare sek.
kwiateek
Cytat
w 20 pare sek.

rolleyes.gif no comments
lukass
Cytat
Cytat
w 20 pare sek.

rolleyes.gif no comments


No wlasnie przydaloby mi sie pare konstruktywnych komentarzy jak najlepiej zrobic aby budowac tablice z pliku przeprowadzic na niej jedna operacje (dodanie pewnej ilosci tekstu) a nastepnie sortowanie (shuffle) owej tablicy i wrzucanie tego do pliku.

Robie to narazie troche po omacku i przy 500 linijkach (elementach tablicy) sortowanie tego i wrzucanie za kazdym razem no posortowanej tablicy do pliku zajmuje kolo 20 sek. Zaznaczam ze plikow do ktorych jest wrzucana taka tablica jest tyle samo ile elementow tej tablicy.

Jesli znacie lepszy sposob - chetnie sie o nim dowiem.
BTW elementy z pliku poczatkowego sa pobierane i tworzony jest nowy element:
Kod
<a href="".$stary_element."".html alt="".$stary element."">".$stary element."</a>";


I tyle, jesli ktos ma pomysl jak zrobic taka operacje w jaknajkrotszym czasie - bede wdzieczny za pomoc...

Pozdrawiam

Lukasz Bien
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.