NetVision-Technik

NetVision-Technik (http://www.netvision-technik.de/forum/index.php)
-   Security (http://www.netvision-technik.de/forum/forumdisplay.php?f=32)
-   -   PHP, SQL & Server Optimierungs~/Securityguide (http://www.netvision-technik.de/forum/showthread.php?t=6264)

Stifler 21.04.2011 09:33

Eher so!
PHP-Code:

$output .= "\n<table cellspacing='1' cellpadding='4' border='0' class='tableinborder' style='width: 100%;'>
    <tbody>
        <tr>
            <td align='left' class='tablea'><font color='red'><b>Nickname:</b></font> </td>
            <td align='left' class='tablea'><b> "
.$nickname." </b></td>
        </tr>
        <tr>
            <td align='left' class='tablea'><font color='red'><b>Email:</b></font> </td>
            <td align='left' class='tablea'><b> "
.$email." </b></td>
        </tr>
        <tr>
            <td align='left' class='tablea'><font color='red'><b>Grund:</b></font> </td>
            <td align='left' class='tablea'><b> "
.$grund." </b></td>
        </tr>
    </tbody>
</table><br />\n"



ike 21.04.2011 09:35

Mit dem Code würde er dir <br /> ausgeben, da du die Variablen immer wieder überschreibst.


Du kannst die Variable genauso wie dein echo behandeln sprich

PHP-Code:

$output 
'<table>
  <tr>
    <td>Hallo</td>
  </tr>
</table>'
;

echo 
$output


D@rk-€vil™ 21.04.2011 10:00

ok....danke dir ike :)

pullermann 21.04.2011 10:44

Danke für die Arbeit sowas ist immer gut und kommt hier immer gut an

Zero111 21.04.2011 12:49

so gehts auch
PHP-Code:

$output "
<table cellspacing='1' cellpadding='4' border='0' class='tableinborder' style='width: 100%;'>
    <tbody>
        <tr>
            <td align='left' class='tablea'><font color='red'><b>Nickname:</b></font> </td>
            <td align='left' class='tablea'><b> "
.$nickname." </b></td>
        </tr>
        <tr>
            <td align='left' class='tablea'><font color='red'><b>Email:</b></font> </td>
            <td align='left' class='tablea'><b> "
.$email." </b></td>
        </tr>
        <tr>
            <td align='left' class='tablea'><font color='red'><b>Grund:</b></font> </td>
            <td align='left' class='tablea'><b> "
.$grund." </b></td>
        </tr>
    </tbody>
</table><br />"
;

echo 
$output


bl0bb 21.04.2011 13:25

Zitat:

Zitat von D@rk-€vil™ (Beitrag 68731)
nur ich frage mich, warum wurde in meiner letzten php weiterbildung gesagt.....das...

echo besser sei als output:confused:

Jo, eigentlich stimmt es fast. Es kommt immer auf die Kombination an. Sobald man den Ausgabepuffer nutzt ist echo schneller, ohne Pufferung $output. Da aber die wenigsten schon mal was von ob_start gehört haben... Aber auch mit Puffer sind beide Varianten annähernd gleich. Daher würde ich die $output Varaiante einer Masse von echos immer vorziehen.

Testskript $output
PHP-Code:

<?
ob_start();
$scriptstart = microtime(true);
$output = '';
for($i = 0; $i < 500000; ++$i) {
    $output .= 'Zahl' . $i;
}
echo $output;
unset($output);
echo '<br/><br/>Laufzeit: ' . (microtime(true) - $scriptstart) . 's<br/>benutzter Speicher: ' . memory_get_usage() . 'bytes';
ob_end_flush();
?>

Testskript echo
PHP-Code:

<?
ob_start();
$scriptstart = microtime(true);
for($i = 0; $i < 500000; ++$i) {
    echo 'Zahl' . $i;
}
echo '<br/><br/>Laufzeit: ' . (microtime(true) - $scriptstart) . 's<br/>benutzter Speicher: ' . memory_get_usage() . 'bytes';
ob_end_flush();
?>

Durchlauf 1 mit Puffer
$output
Laufzeit: 0.63549590110779ms
benutzter Speicher: 5235576bytes

echo
Laufzeit: 0.62462306022644s
benutzter Speicher: 5235488bytes

Durchlauf 2 mit Puffer
$output
Laufzeit: 0.63504791259766ms
benutzter Speicher: 5235576bytes

echo
Laufzeit: 0.62371683120728s
benutzter Speicher: 5235488bytes

Durchlauf 3 mit Puffer
$output
Laufzeit: 0.64082717895508ms
benutzter Speicher: 5235576bytes

echo
Laufzeit: 0.63638401031494s
benutzter Speicher: 5235488bytes


Durchlauf 1 ohne Puffer
$output
Laufzeit: 0.62938117980957ms
benutzter Speicher: 5224840bytes

echo
Laufzeit: 3.9060130119324s
benutzter Speicher: 340272bytes

Durchlauf 2 ohne Puffer
$output
Laufzeit: 0.68935108184814ms
benutzter Speicher: 5224840bytes

echo
Laufzeit: 2.9526829719543s
benutzter Speicher: 340272bytes

Durchlauf 3 ohne Puffer
$output
Laufzeit: 0.65321207046509ms
benutzter Speicher: 5224840bytes

echo
Laufzeit: 3.556214094162ms
benutzter Speicher: 340272bytes

D@rk-€vil™ 21.04.2011 16:46

jut....danke dir...mehr wollte ich nicht wissen:)

Stifler 21.04.2011 16:58

ob_implicit_flush ist auch eine interessante Sache! Da erspart man sich das ob_flush() und flush().

Nütze ich bei meinem Chatsystem, bzw war vor Ajax die einzige Möglichkeit einen "Realtimechat" (kein Reload sondern Stream) mit einer Endlosschleife + sleep() reibungslos zu verwirklichen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 Uhr.

Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2025, vBulletin Solutions, Inc.