ubuntuusers.de

Link in PHP aufrufen, http:// wird als Kommentar erkannt

Status: Ungelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

TimeMen

Anmeldungsdatum:
16. April 2016

Beiträge: 22

Hallo ihr Lieben,

Leider schon die zweite Frage heute die ich nicht lösen konnte. Ich will in PHP einen Link übergeben. Das ganze steht in Anführungszeichen. Doch wenn ich jetzt den Link mit http://abc.de in die "" hineinschreibe, wird das // nach dem : als Kommentar erkannt. Ich habe auch schon statt der "" solche '' ausprobiert, allerdings haben die den Kommentar auch nicht aufgehoben.

Was muss ich machen um den Link fehlerfrei übertragen zu können? Das hier ist ein Beispiel zu dem oben genannten:

1
$val = trim(@shell_exec("/usr/bin/mplayer http://abc.de:1234"));

Liebe Grüße TimeMen

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17621

Wohnort: Berlin

TimeMen schrieb:

Doch wenn ich jetzt den Link mit http://abc.de in die "" hineinschreibe, wird das // nach dem : als Kommentar erkannt.

Woran stellst Du fest, dass es als Kommentar erkannt wird?

1
$val = trim(@shell_exec("/usr/bin/mplayer http://abc.de:1234"));

Ich bin kein PHP-Coder. In anderen Sprachen könnte das zu dem Problem, dass nach einer ausführbaren Datei abc.de:1234 im Verzeichnis "mplayer http:", was ja ein gültiger Verzeichnisname ist, gesucht wird, führen.

TimeMen

(Themenstarter)

Anmeldungsdatum:
16. April 2016

Beiträge: 22

user_unknown schrieb:

Woran stellst Du fest, dass es als Kommentar erkannt wird?

Nano markiert alles innerhalb der "" gelb, allerdings wird alles nach den // blau. Auch wenn ich einen Kommentar mit // mache, macht das Syntax-Highlighting diesen Kommentar blau. Daraus wage ich zu schließen, dass das als Kommentar erkannt wird

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17621

Wohnort: Berlin

TimeMen schrieb:

user_unknown schrieb:

Woran stellst Du fest, dass es als Kommentar erkannt wird?

Nano markiert alles innerhalb der "" gelb, allerdings wird alles nach den // blau. Auch wenn ich einen Kommentar mit // mache, macht das Syntax-Highlighting diesen Kommentar blau. Daraus wage ich zu schließen, dass das als Kommentar erkannt wird

Das ist aber ein Editor, nicht der Interpreter. Die Syntaxerkennung der Editoren ist selten so elaboriert wie die eines Compilers oder Interpreters, daran darf man sich nicht orientieren.

TimeMen

(Themenstarter)

Anmeldungsdatum:
16. April 2016

Beiträge: 22

Trotzdem scheint es nicht zu funktionieren was ich mir erstellt habe. Und der einzige Grund erscheint mir dieses http://

ExcitedSpoon

Avatar von ExcitedSpoon

Anmeldungsdatum:
17. Juli 2010

Beiträge: 226

Wohnort: /home/berlin

TimeMen schrieb:

Ich will in PHP einen Link übergeben. Das ganze steht in Anführungszeichen. Doch wenn ich jetzt den Link mit http://abc.de in die "" hineinschreibe, wird das // nach dem : als Kommentar erkannt. Ich habe auch schon statt der "" solche '' ausprobiert, allerdings haben die den Kommentar auch nicht aufgehoben.

1) Wie genau übergibst du denn den Link an shell_exec? In deinem Beispiel sieht man nur einen statischen String. Dass der doppelte Blackslash dort als Kommentar angesehen wird liegt wie meine Vorredner schon gesagt haben an einem falsch eingestellten Editor.

2) Nimm doch mal das @ vor shell_exec weg um eventuelle Fehler angezeigt zu bekommen. Fehlerunterdrückung ist in der Regel nie gut, da es nur Symptome bekämpft, aber nicht die Ursache. Das @ vor einem Funktionsaufruf sorgt in PHP dafür, dass Fehlermeldungen unterdrückt anstatt ausgegeben werden.

3) Quoting ist bei URLs und Dateipfaden durchaus sinnvoll, probier mal:

1
2
3
$url = 'http://abc.de:1234'
shell_exec('/usr/bin/mplayer "' . $url . '"')
// expandiert zu: shell_exec('/usr/bin/mplayer "http://abc.de:1234"')

Grüße

Antworten |