Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: generowanie kodu zrodlowego czy jak to nazwac ;>
Forum PHP.pl > Forum > Przedszkole
alpin
witam, mam takie pytanie, mam sobie skrpyt ktory cos se tam wykonuje ... czy jest mozliwosc zapisania sobie do pliku ze tak powiem kodu zrdlowego , moze na przykladzie.
[php:1:92954016be]<?php
for ($i=0; $i<count($tablica); $i++) {

$a=$i % 2; //w celu kolorowania wersow tabelki

if ($a==0)
echo "<tr bgcolor=#bbeeaa align=center>";
else
echo "<tr bgcolor="#aabb88" align="center">";


echo "<td align=center>$k</td>
<td align=center>$user</td>
<td align=center>"; pokaz_punkty($user, $plik_z_wynikami, $dta1, $dta2, $dta3, $dta4, $dta5, $dta6, $dta7, $dta8, $dta9, $dta10); echo"</td>
<td align=center>"; skutecznosc ($user, $plik_z_wynikami, $data1, $data2, $data3, $data4, $data5, $data6, $data7, $data8, $data9, $data10); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data10, $plik_z_wynikami); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data9, $plik_z_wynikami); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data8, $plik_z_wynikami); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data7, $plik_z_wynikami); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data6, $plik_z_wynikami); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data5, $plik_z_wynikami); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data4, $plik_z_wynikami); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data3, $plik_z_wynikami); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data2, $plik_z_wynikami); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data1, $plik_z_wynikami); echo"</td>
</tr>";
}
echo "</table>";

?>[/php:1:92954016be]

i w rezultacie jak w przegladarce sie wezmie kod zrodlowy to bedzie cos takiego:

Kod
<tr bgcolor=#7777ee>

     <td align=center><b>Pozycja</b></td>

     <td align=center><b>Nick</b></td>

     <td align=center><b>Punkty</b></td>

     <td align=center><b>Skutecznosc</b></td>

     <td align=center><b>29.05</b></td>

     <td align=center><b>30.05</b></td>

     <td align=center><b>31.05</b></td>

     <td align=center><b>01.06</b></td>

     <td align=center><b>02.06</b></td>

     <td align=center><b>03.06</b></td>    

     <td align=center><b>04.06</b></td>

     <td align=center><b>05.06</b></td>

     <td align=center><b>06.06</b></td>

     <td align=center><b>07.06</b></td>    

   </tr><tr bgcolor=#bbeeaa align=center><td align=center>1</td>

     <td align=center>alpin1</td>

     <td align=center>3</td>

     <td align=center>2/10 = 20.0 %</td>

     <td align=center>19<br><img src='baza/img1.gif'></td>

     <td align=center>18<br><img src='baza/img1.gif'></td>

     <td align=center>17<br><img src='baza/img1.gif'></td>

     <td align=center>16<br><img src='baza/img1.gif'></td>

     <td align=center>15<br><img src='baza/img1.gif'></td>

     <td align=center>14<br><img src='baza/img2.gif'></td>

     <td align=center>13<br><img src='baza/img1.gif'></td>

     <td align=center>12<br><img src='baza/img1.gif'></td>

     <td align=center>11<br><img src='baza/img1.gif'></td>

     <td align=center>1<br><img src='baza/img2.gif'></td>

  </tr><tr bgcolor="#aabb88" align="center"><td align=center>2</td>

     <td align=center>alpin8</td>

     <td align=center>3</td>

     <td align=center>2/10 = 20.0 %</td>

     <td align=center>19<br><img src='baza/img1.gif'></td>

     <td align=center>18<br><img src='baza/img1.gif'></td>

     <td align=center>17<br><img src='baza/img1.gif'></td>

     <td align=center>16<br><img src='baza/img1.gif'></td>

     <td align=center>15<br><img src='baza/img1.gif'></td>

     <td align=center>14<br><img src='baza/img2.gif'></td>

     <td align=center>13<br><img src='baza/img1.gif'></td>

     <td align=center>12<br><img src='baza/img1.gif'></td>

     <td align=center>11<br><img src='baza/img1.gif'></td>

     <td align=center>8<br><img src='baza/img2.gif'></td>



itd.... itd......

i jak zrobic zeby taki kod zapisac sobie do jakiegos pliku ....
Chewolf
hmm muszisz to wszystko powstawiać w zminną i później nie ma problemu biggrin.gif
hwao
albo bufowaniem przechwycic i zapisac...
alpin
hm moglbys troche jasniej to wytlumaczyc ? bo nie bardzo rozumiem jak to mam podstawic pod zmienna ?
jak ktos sobie zadaje pytanie po co mi cos takiego to moja odpowiedz jest taka, skrypt wykonuje sie dosc dlugo, zalozenie jest ze wynik bedzie zawsze taki sam co jakis czas dopolki nie uaktualnia sie pewne dane, a w tym czasie powiedzmy ma go obejrzec 20 osob, a wynik bedzie zawsze taki sam i czas ladowania strony bedzie o wiele wiekszy, wiec wymyslilem ze jak uaktualniam dane to wtedy wykonuje sie ten skrypt, kod zrodlowy zapisuje do pliku i na jakiejs stronie wyswietlam zwykly kod zrodlowy , a moze macie jakies inne propozycje ? mam nadzieje ze mniej wiecej zrozumieliscie o co mi chodzi ;>

Jezeli mozna to prosilbym najlepiej o jakis prosty przyklad, albo o jakis namiar czego szukac dokladnie .
Puciek
Ten kod załatwia sprawę

[php:1:4a1fb7f243]<?php
for ($i=0; $i<count($tablica); $i++) {

$a=$i % 2; //w celu kolorowania wersow tabelki

if ($a==0)
$str = "<tr bgcolor=#bbeeaa align=center>";
else
$str .= "<tr bgcolor="#aabb88" align="center">";


$str .= "<td align=center>$k</td>
<td align=center>$user</td>
<td align=center>"; pokaz_punkty($user, $plik_z_wynikami, $dta1, $dta2,
$dta3, $dta4, $dta5, $dta6, $dta7, $dta8, $dta9, $dta10); echo"</td>
<td align=center>"; skutecznosc ($user, $plik_z_wynikami, $data1,
$data2, $data3, $data4, $data5, $data6, $data7, $data8, $data9,
$data10); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data10,
$plik_z_wynikami); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data9,
$plik_z_wynikami); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data8,
$plik_z_wynikami); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data7,
$plik_z_wynikami); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data6,
$plik_z_wynikami); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data5,
$plik_z_wynikami); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data4,
$plik_z_wynikami); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data3,
$plik_z_wynikami); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data2,
$plik_z_wynikami); echo"</td>
<td align=center>"; wyswietl_typ_usera ($user, $data1,
$plik_z_wynikami); echo"</td>
</tr>";
}
$str .= "</table>";

$file = fopen( 'plik.txt', 'w+' );
fwrite( $file, $str );
fclose( $file );
?>[/php:1:4a1fb7f243]
alpin
ogolnie niby dziala, ale jest problem w funkcjach, np mam takie cos [php:1:0a9b8e927a]<?php
function wyswietl_typ_usera ($user, $data, $plik_z_wynikami) {

$plik="users/$user/typy.txt";
$tablica=file($plik);

for($i=0;$i<count($tablica);$i++){
$linia=explode('|**|', $tablica[$i]);
if(trim($linia[0])=="$data") { $typ="$linia[1]"; }
}
$str.= $typ; //zamienione echo

$stan="niema";
$tablica2=file($plik_z_wynikami);
for($i=0;$i<count($tablica2);$i++){
$linia=explode(';', $tablica2[$i]);
if(trim($linia[0])=="$data") { $liczby_przed="$linia[1]"; $stan="jest";}
}
$liczby_po=explode('-', $liczby_przed);
$var1 = array_pop( $liczby_po );
$liczby_po[] = str_replace(array("rn", "n"), "", $var1) ;

if ($typ=='') {$str.= "<img src='baza/img0.gif'>"; //zamienione echo
} else {
if ($stan=="jest") {
if (in_array ("$typ", $liczby_po)) {
$str.= "<br><img src='baza/img2.gif'>"; $alpin="jest"; //zamienione echo
} else {
$str.= "<br><img src='baza/img1.gif'>"; $alpin="niema"; //zemienione echo
}
}
}
}

?>[/php:1:0a9b8e927a] i tez zamienilem echo na $str.= ale nie dziala , gdzie tkwi problem ? jak go rozwiazac ?
rogrog
na początku każdej funkcji dajesz

[php:1:66268771b1]<?php
global $str;

?>[/php:1:66268771b1]


ALBO

wklej coś takiego na początku strony
:


[php:1:66268771b1]<?php

/* na początku kodu daj coś takiego */

ob_start( 'ob_save' );

function ob_save( $code ){

$file = fopen( 'plik.txt', 'w+' );
fwrite( $file, $code );
fclose( $file );

}

?>[/php:1:66268771b1]
alpin
zeby nie zakaldac nowego tematu napisze tutaj, mam jeszcze jeden problem z printf , to wzialem prosto z manuala:
[php:1:e871c3038d]<?php
$a = 5; $b = 8.1; $c = 9.99;

print "Here comes the conversion: ";

$new_a = printf("%.2f", $a);
$new_b = printf("%.2f", $cool.gif;
$new_c = printf("%.2f", $c);

//print "a is now =".$new_a.", b is now = ".$new_b.", and c is now = ".$new_c;
?>[/php:1:e871c3038d]
zdezaktyowalem ostatni wers print, a mimo to wyswietla mi wynik, jak nie probowalem, podstawiac pod zmiena to i tak gdzie i ile razy jest printf to odrazu mi to wyswietla

ten kod daje mi taki wynik:

Kod
Here comes the conversion: 5.008.109.99


ten kod : [php:1:e871c3038d]<?php
$a = 5; $b = 8.1; $c = 9.99;

print "Here comes the conversion: ";

$new_a = printf("%.2f", $a);
$new_b = printf("%.2f", $cool.gif;
$new_c = printf("%.2f", $c);

print "a is now =".$new_a.", b is now = ".$new_b.", and c is now = ".$new_c;
?>[/php:1:e871c3038d]
daje wynik :
Kod
Here comes the conversion: 5.008.109.99a is now =, b is now = , and c is now =

co jest grane ?

Edycja: to:
$new_a = printf("%.2f", $a);
$new_b = printf("%.2f", $cool.gif;
$new_c = printf("%.2f", $c);

zamienilem na:
$new_a = sprintf("%.2f", $a);
$new_b = sprintf("%.2f", $cool.gif;
$new_c = sprintf("%.2f", $c);
i dziala , jaka jest roznica miedzy printf a sprintf , bo w manualu po ang i nie moge zabardzo sie doczytac
rogrog
w manualnu jest napisane bardzo wyraźnie

chodzi o to, że sprintf zwraca sformatowany łańcuch znaków, tak że możesz go np. przypisać do zmiennej albo wysłąć jako parametr do funkcji

natomiast printf robi to samo, z tym ze od razu wyświetla
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.