PHP Variable in Zeichenkette

  • Themenstarter Themenstarter kmindi
  • Beginndatum Beginndatum
K

kmindi

Guest
Mit einem Zufallstext Script welches in PHP geschrieben ist moechte ich zufaellig Links anzeigen. Das funktioniert auch.

Das Problem ist, ich habe die IP von dem Server in einer Variable gespeichert und diese soll in den links natuerlich dann auch mit ihrem inhalt angezeigt werden und nicht der name der variable mit dem dollarzeichen davor... weil dann geht der link naemclih logischerweise auch nicht.

also hier das script:
Code:
<?php

$link[] = '<a href="ftp://{$serverip}/Codecs_Player/klmcodec169.exe">KLite Mega Codec Pack</a>';
$link[] = '<a href="ftp://{$serverip}/Codecs_Player/winamp533_full_emusic-7plus.exe">WinAmp 5.33</a>';


srand ((double) microtime() * 1000000);
$randomlink = rand(0,count($link)-1);

echo "[ " . $link[$randomlink] . " ]";

?>

Wie bekomm ichs jetzt hin das $serverip mit der serverip ersetzt wird.
also in der variable ist halt die ip gespeichert.
ohne oder mit den geschwungenen klammer oder mit doppeltem $$ gehts auch nicht,.. keine ahnung .
vielleicht wissts ihr ja . ^^

(das script soll auf einem lan server auf lan parties laufen, wegen den downloads)
 
Da gibt es zwei Möglichkeiten. Entweder du schreibst das ganze in doppelte Hochkommata:
Code:
$link[] = "<a href=\"ftp://${serverip}/Codecs_Player/klmcodec169.exe\">KLite Mega Codec Pack</a>";
wobei du alle anderen escapen musst (mit \), oder du schreibst folgendes:
Code:
$link[] = '<a href="ftp://'.$serverip.'/Codecs_Player/klmcodec169.exe">KLite Mega Codec Pack</a>';
Bei der ersten Version bin ich mir nicht ganz sicher, ob sie funktioniert, deshalb, und wegen besserer Übersicht und Performance, würde ich dir die zweite empfehlen.
 
danke fuer die super schnelle antwort,
die zweite moeglichkeit funktioniert .
danke danke
 
Du musst das $ Dollarzeichen überhaupt nicht maskieren...

soll heißen:

Code:
$link[] = '<a href="ftp://$serverip/Codecs_Player/klmcodec169.exe">KLite Mega Codec Pack</a>';
würde ebenso funktionieren

cya Lük
 
Nein, würde es nicht, da in Strings, die durch einfache Anführungen begrenzt werden, keinerlei Variablenauswertung erfolgt (siehe PHP-Doku).
 
Na gut dann drehen wir das ganze eben um:

Code:
$link[] = "<a href='ftp://$serverip/Codecs_Player/klmcodec169.exe'>KLite Mega Codec Pack</a>";
 
Moinsen,

das dürfte auch nicht klappen da nun im link href=' stehen würde, es müsste aber href=" heisen. ich bin mir jetzt nich sicher ob href=' ewentuell auch erkannt wird (zumindest von den meisten browsern) aber W3C konform währe es sicher nicht.

Code:
$link[] = "<a href=\"ftp://$serverip/Codecs_Player/klmcodec169.exe\">KLite Mega Codec Pack</a>";

oder

Code:
$link[] = '<a href="ftp://'.$serverip.'/Codecs_Player/klmcodec169.exe">KLite Mega Codec Pack</a>';

oder ...

MfG
 
Ist egal, ob du einfache oder doppelte Anführungszeichen verwendest. Vorausgesetzt man mischt es nicht bei einer Attribut-Angabe.
 
Zurück
Oben