CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos

|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP 
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |

04.09.2008, 16:02:18
|
Anfänger
|
|
Registriert seit: Jun 2008
Alter: 41
Beiträge: 43
|
|
Frage zu parse_url
Hallo,
folgendes Problem: Ich möchte zunächst mal die aktuelle URL ermitteln und von dieser dann mittels "parse_url" bestimmte Bestandteile ausgeben. Allerdings wird mein "parse_url"-Befehl nicht ausgeführt.
Hier mal mein Code:
PHP-Code:
<?php
//Aktuelle URL ermitteln
$url = $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
//Aktuelle URL ausgeben
echo $url;
//Host ermitteln
$url_array = parse_url($url);
//Host ausgeben
echo $url_array[host];
?>
Bis zur Ausgabe der aktuellen URL funktioniert alles, die beiden letzten Befehle werden aber nicht ausgeführt (die 2. Ausgabe erscheint nicht).
Weiss jemand, wo hier das Problem liegt bzw. wie das zu lösen wäre? Ich vermute ein Problem in der Ermittlung bzw. Zuweisung der URL selbst.
|

04.09.2008, 17:49:42
|
Member
|
|
Registriert seit: Oct 2002
Ort: ch
Beiträge: 822
|
|
AW: Frage zu parse_url
echo $url_array['host'];
-> anfuehrungszeichen
|

04.09.2008, 17:53:14
|
Anfänger
|
|
Registriert seit: Jun 2008
Alter: 41
Beiträge: 43
|
|
AW: Frage zu parse_url
Ändert auch nichts.
Es erscheint keine 2. Ausgabe.
|

04.09.2008, 21:02:57
|
 |
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Frage zu parse_url
So sollte es funktionieren:
PHP-Code:
<?php
//Aktuelle URL ermitteln
$url = "http://" .$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
//Aktuelle URL ausgeben
echo $url;
//Host ermitteln
$url_array = parse_url($url);
//Host ausgeben
echo $url_array['host'];
?>
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|

04.09.2008, 21:09:28
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 49
Beiträge: 1.938
|
|
AW: Frage zu parse_url
wie vt1816 schon zeigt, musst du das protokoll angeben.
aus dem php-handbuch:
Zitat:
Diese Funktion verarbeitet keine relativen URLs
|
ohne die angabe beinhaltet das array keinen schlüssel 'host'. eine überprüfung mit var_dump( ) oder print_r( ) hätte da schön geholfen ;-
cx
|

05.09.2008, 07:29:16
|
Anfänger
|
|
Registriert seit: Jun 2008
Alter: 41
Beiträge: 43
|
|
AW: Frage zu parse_url
Danke, das funktioniert nun.
Allerdings habe ich nun das Problem, dass nicht alles ausgegeben wird.
Wenn die URL z. B. "http://www.domain.de/test/test.php#01" lautet, kann ich das "#01" nicht ausgeben.
Das sollte doch mit
PHP-Code:
echo $url_array['fragment'];
möglich sein, oder täusche ich mich da?
Geändert von BSG (05.09.2008 um 07:29:48 Uhr)
|

05.09.2008, 09:23:04
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 49
Beiträge: 1.938
|
|
AW: Frage zu parse_url
der folgende code erzeugt bei mir die ausgabe, die du erwartest...?
PHP-Code:
$url = 'http://' . $_SERVER[ 'SERVER_NAME' ] . $_SERVER[ 'REQUEST_URI' ] . '#01';
print_r( parse_url( $url ) );
Code:
Array
(
[scheme] => http
[host] => work
[path] => /TEMP.php
[fragment] => 01
)
cx
|

05.09.2008, 10:36:48
|
Anfänger
|
|
Registriert seit: Jun 2008
Alter: 41
Beiträge: 43
|
|
AW: Frage zu parse_url
Danke, klappt so.
Aber wie kann ich den "Fragment"-Wert automatisch aus der URL übernehmen, ohne ihn vorher zu kennen bzw. explizit als "$url=..." angegeben zu haben?
|

05.09.2008, 10:48:15
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 49
Beiträge: 1.938
|
|
parse_url
ich kann dein problem nicht wirklich nachvollziehen. wenn der betreffende string ein fragment enthält - also alles was nach "#" kommt - wird das in einem array durch parse_url( ) gespeichert. WIE das fragment in die url kommt, ist doch ein völlig anderes problem. ich würde den übergebenen url-string prüfen; evtl. liegt da der fehler. es gibt doch nur 2 möglichkeiten, wenn das ganze nicht funktioniert:
1. die syntax stimmt nicht (dein bereits geklärtes problem)
2. der gesuchte ausgabe-wert ist nicht gespeichert
cx
|

05.09.2008, 11:10:29
|
Anfänger
|
|
Registriert seit: Jun 2008
Alter: 41
Beiträge: 43
|
|
AW: Frage zu parse_url
Würde spontan auf Fall 2 tippen. Ok, dann stelle ich die Frage nochmal ein wenig anders:
Mit welchem Befehl frage ich bei
PHP-Code:
$url = 'http://' . $_SERVER[ 'SERVER_NAME' ] . $_SERVER[ 'REQUEST_URI' ] . '#01';
den letzten Eintrag " . '#01'" ab? Irgendwie muss der ja mit in die URL übernommen werden.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 04:25:08 Uhr.
|