Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> generowanie kodu zrodlowego czy jak to nazwac ;>
alpin
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 15.03.2004

Ostrzeżenie: (10%)
X----


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 ....
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
Chewolf
post
Post #2





Grupa: Zarejestrowani
Postów: 335
Pomógł: 0
Dołączył: 15.11.2003

Ostrzeżenie: (0%)
-----


hmm muszisz to wszystko powstawiać w zminną i później nie ma problemu biggrin.gif
Go to the top of the page
+Quote Post
hwao
post
Post #3


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




albo bufowaniem przechwycic i zapisac...
Go to the top of the page
+Quote Post
alpin
post
Post #4





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 15.03.2004

Ostrzeżenie: (10%)
X----


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 .
Go to the top of the page
+Quote Post
Puciek
post
Post #5


TAO programowania


Grupa: Zarejestrowani
Postów: 340
Pomógł: 3
Dołączył: 25.03.2003
Skąd: ze słoika

Ostrzeżenie: (30%)
XX---


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]


--------------------

http://puciek.wordpress.com prywatnie o świecie
Go to the top of the page
+Quote Post
alpin
post
Post #6





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 15.03.2004

Ostrzeżenie: (10%)
X----


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 ?
Go to the top of the page
+Quote Post
rogrog
post
Post #7





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

Ostrzeżenie: (0%)
-----


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]


--------------------
Go to the top of the page
+Quote Post
alpin
post
Post #8





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 15.03.2004

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
rogrog
post
Post #9





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 17:33