SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 11.12.2009, 19:59:22
feuerstein feuerstein ist offline
Anfänger
 
Registriert seit: Dec 2009
Alter: 47
Beiträge: 9
string vorne auslesen, hinten anhängen

Hallo,
ich hab sehr wenig Ahnung von php. Gesucht hab ich auch, aber nichts gefunden was helfen könnte.

Ich habe auch schon experimentiert, aber mit arrays hab ich das nicht hin bekommen.
Möglicherweise kann ich auch einen einfachen Befehl verwenden?

Das soll passieren:

$domain == "hans.dampf.einedomain.de"

Ich möchte alles VOR ".einedomain.de" kopieren und hinten Zufügen in der Form

hans.dampf.einedomain.de/hans.dampf/

In GFA-Basic könnte ich es :-)

Danke Frank

Hoffentlich kann jemand helfen.
Mit Zitat antworten
  #2  
Alt 11.12.2009, 23:32:24
R4Zz0R R4Zz0R ist offline
Junior Member
 
Registriert seit: Sep 2009
Ort: Wetzlar/Kassel
Alter: 35
Beiträge: 201
AW: string vorne auslesen, hinten anhängen

hmm da würde mir ein weg einfallen,

PHP-Code:
<?php

$site 
$_SERVER['SERVER_NAME'];

if (
$site === 'hans.dampf.einedomain.de' ) {
//über $to_copy werden die ersten 10 zeichenalso der teil hans.dampf. abgeschnitten.
$to_copy substr($site10);
//natürlich den code nach deinen wünschen anpassen.
$mixed_vars $site;
$mixed_vars .= '/';
$mixed_vars .= $to_copy;
$mixed_vars .= '/';
//ausgabe von $mixed_var
echo $mixed_var;

}
else {
exit;
//oder weiterer code
}
?>
Du Kannst naürlich auch (bei mehreren wildcards oä.)
andere wege nutzen aber so sähe für mich ein einfacher code aus.
(ungetestet keine garantie xD)
Hoffe ich konnte dir helfen
MFG
R4Zz0R
__________________
Wachsen kann man entweder:

Körperlich -> Man wird größer.
^ Ist so von der Evolution gewollt.

Charakter -> Man wird Geduldiger.
^ Man wächst mit der aufgabe

Kopf -> Man wird Klüger.
^ Wenn die aufgabe probleme macht & man trotzdem deine lösung findet.
Mit Zitat antworten
  #3  
Alt 12.12.2009, 00:57:23
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
AW: string vorne auslesen, hinten anhängen

Ich gehe doch einmal davon aus, daß hans.dampf.meinedomain.de nur ein Beispiel ist und somit die 10 Zeichen nicht immer gesetzt sind.
Mit explode() kommst du deinem Ziel eigentlich schon recht nahe, wenn du dir sicher sein kannst, daß es sich um eine Domain handelt.
PHP-Code:
<?php
$domain 
'hans.dampf.meinedomain.de';
$domainArr explode('.',$domain);
$repDomain $domain.'/'.$domainArr[0].'.'.$domainArr[1].'/';
?>
Hiermit würdest du zumindest dein Ergebnis erreichen, wenn die angegebene Domain so ist, wie du sie hier vorgegeben hast. Mit ein paar kleinen Modifikationen bekommst du es aber auch so zusammen, daß es bei allen Domainangaben funktioniert.
Mit Zitat antworten
  #4  
Alt 12.12.2009, 01:09:56
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
AW: string vorne auslesen, hinten anhängen

Grundsätzlich wirst du vermutlich auch noch parse_url verwenden oder zumindest in Erwägung ziehen müssen.

parse_url
Mit Zitat antworten
  #5  
Alt 12.12.2009, 01:25:30
R4Zz0R R4Zz0R ist offline
Junior Member
 
Registriert seit: Sep 2009
Ort: Wetzlar/Kassel
Alter: 35
Beiträge: 201
AW: string vorne auslesen, hinten anhängen

mixed parse_url ( string $url [, int $component = -1 ] )

Diese Funktion parst einen URL und gibt ein assoziatives Array zurück, das die im URL vorhandenen Komponenten enthält.

Diese Funktion ist nicht dazu gedacht, einen gegebenen URL zu validieren, sondern es gliedert einen URL in die unten aufgeführten Bestandteile. Unvollständige URLs werden als Parameter akzeptiert, parse_url() versucht, sie bestmöglich zu analysieren.

-> OK.
Alternativ kann er auch so arbeiten.
xD gerade als mir (selbe idee wie bei dir urvater) die idee mit explode zu arbeiten kam, stand schon alles da xD

@urvater
Noch ne andere frage zu parse_url
Die funktion gibt ja ein array zurück mit den inhalten:
Array
(
[scheme] => http
[host] => hostname
[user] => benutzername
[pass] => passwort
[path] => /pfad
[query] => argument=wert
[fragment] => textanker
)

Der url :
PHP-Code:
<?php
$url 
'http://benutzername:passwort@hostname/pfad?argument=wert#textanker';

print_r(parse_url($url));

echo 
parse_url($urlPHP_URL_PATH);
?>
enthält am schluss ja eine #
wird diese eigentlich auch mitgegeben ?^ oder liegt es wenn die # mit übergeben wird an der php.ini ?^^

Habe mal aus juks ein wenig gebastelt nur will die blöde # nicht aus dem übergebenen $test rausgehen.

MFG
R4Zz0R
__________________
Wachsen kann man entweder:

Körperlich -> Man wird größer.
^ Ist so von der Evolution gewollt.

Charakter -> Man wird Geduldiger.
^ Man wächst mit der aufgabe

Kopf -> Man wird Klüger.
^ Wenn die aufgabe probleme macht & man trotzdem deine lösung findet.
Mit Zitat antworten
  #6  
Alt 12.12.2009, 01:43:24
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
AW: string vorne auslesen, hinten anhängen

Verstehe irgend wie nicht dein Problem mit dem Textanker. Die # gibt ja nur den html Textanker an. Willst du ihn nicht haben musst du ihn aus dem Array entfernen.
Ansonsten findest du seinen Wert ja in [fragment].

Somit ist die # nach parse_url nicht mehr selbst im Array. Die angegebene Domain im Test bleibt davon unberührt.

In Fall des Treaderstellers wird ja nur [host] genutzt bzw. soll verwendet werden. Den Rest aus dem Array würde er ggf. beim Zusammensetzen wieder benötigt.
Mit Zitat antworten
  #7  
Alt 12.12.2009, 01:53:09
R4Zz0R R4Zz0R ist offline
Junior Member
 
Registriert seit: Sep 2009
Ort: Wetzlar/Kassel
Alter: 35
Beiträge: 201
AW: string vorne auslesen, hinten anhängen

uuupppsss...

jup.
jetzt hab ichs auch kapiert... xD

Thx für die schnelle antwort @urvater

MFG
R4Zz0R
__________________
Wachsen kann man entweder:

Körperlich -> Man wird größer.
^ Ist so von der Evolution gewollt.

Charakter -> Man wird Geduldiger.
^ Man wächst mit der aufgabe

Kopf -> Man wird Klüger.
^ Wenn die aufgabe probleme macht & man trotzdem deine lösung findet.
Mit Zitat antworten
  #8  
Alt 12.12.2009, 14:05:22
feuerstein feuerstein ist offline
Anfänger
 
Registriert seit: Dec 2009
Alter: 47
Beiträge: 9
AW: string vorne auslesen, hinten anhängen

Zitat:
Zitat von R4Zz0R Beitrag anzeigen
hmm da würde mir ein weg einfallen,
@R4Zz0R Danke.

Erst mal Danke auch für die anderen schnellen Hilfen. Ich werde nun einige Zeit benötigen, das zu testen.

Da ich aber sehe, dass allgemein das Thema interessiert, möchte ich mal mein Projekt etwas besser beschreiben.

Ich möchte beliebige Subdomains annehmen und weiterleiten können.

hans.dampf.einedomain.de
gerd.ist.ein.depp.und.schlaeft.nur.einedomain.de

Schon deshalb entfällt array würde ich sagen, oder?

Genau genommen ist es mir egal, was für eine Subdomain verwendet wird. Ist die zu routen, dann landet die im passenden Verzeichnis mit einer index.html - wenn nicht wird die Domain "einedomain.de" aufgerufen.

mein Nameserver kann * Subdomains, mein Server *einedomain.de


Ich möchte kurz in Basic erklären, wo es drauf ankommt. Das wird jeder schnell begreifen können.

doman$="hans.dampf.einedomain.de"

da = instr(domain$,".einedomain.de") Punkt vor einedomain beachten.

if da
enddomain$ = domain$+ "/" + mid$(domain$,1,da-1)
(erste stelle bis gefunden minus Punkt)
endif

Alles zusammengesetzt ist dann das was ich will.

Nun müsste meine derzeitige Domainweiche so umgebaut werden, dass die ermittelten Daten hier eingefügt und verwendet werden.

<?php
$domain = $_SERVER['SERVER_NAME'];

if($domain=="einedomain.de" or $domain=="www.einedomain.de")
{
header('Location: http://einedomain.de');
}

if($domain=="hans.dampf.einedomain.de") oder eine andere
{
header('Location: http://hans.damp.einedomain.de/hand.dampf/'); je nach zusammenbau
}

?>

Wenn für die ermittelte Subdomain kein Verzeichnis besteht, gibt es ja automatisch ein Error 404. Also kein Problem oder ich leite dann um.

Komplette Subdomanweiche für tausende Subdomains, wenn die zugehörigen Ordner vorhanden sind.

Ich finde die Idee gut und zudem entsteht wenig Serverbelastung.

So, ich werde nun auch mal experimentieren.

Sollte jemand so etwas fertig haben, wäre für mich heute schon Weihnachten :-))

Ach ja, sollte auch unter PHP4.3 laufen.

Gruß Frank
Mit Zitat antworten
  #9  
Alt 12.12.2009, 14:30:08
R4Zz0R R4Zz0R ist offline
Junior Member
 
Registriert seit: Sep 2009
Ort: Wetzlar/Kassel
Alter: 35
Beiträge: 201
AW: string vorne auslesen, hinten anhängen

Hm...
Zitat:
Komplette Subdomainweiche für tausende Subdomains, wenn die zugehörigen Ordner vorhanden sind.
Wäre da nicht eventuell eine lösung zb. über eine datenbank einfacher für dich ?
Du willst schlieslich "tausende" subs weiterleiten, und jede sub einzeln als solchen code

PHP-Code:
if($domain=="hans.dampf.einedomain.de"oder eine andere
{
header('Location: http://hans.damp.einedomain.de/hand.dampf/'); je nach zusammenbau

einzutragen ist sicher etwas umständlich.

MFG
R4Zz0R
__________________
Wachsen kann man entweder:

Körperlich -> Man wird größer.
^ Ist so von der Evolution gewollt.

Charakter -> Man wird Geduldiger.
^ Man wächst mit der aufgabe

Kopf -> Man wird Klüger.
^ Wenn die aufgabe probleme macht & man trotzdem deine lösung findet.
Mit Zitat antworten
  #10  
Alt 12.12.2009, 15:25:59
feuerstein feuerstein ist offline
Anfänger
 
Registriert seit: Dec 2009
Alter: 47
Beiträge: 9
AW: string vorne auslesen, hinten anhängen

@R4Zz0R

Ich hab mich sicher unverständlich ausgedrückt.

$domain = $_SERVER['SERVER_NAME'];
if(IN der $domain enthalten ==".einedomain.de")
{
- den String Domain teilen vor .einedomain.de
- alles vor .einedomain ist das Verzeichnis wo es hin soll
- und alles zusammenbauen und nachstehend einfügen.
header('Location: "http://" + $domain' + "/" + "alles vor .einedomain als Ordner");
}

Ergebnis: http://hans.dampf.einedomain.de/hans.dampf/

Du siehst, ich brauche nur diesen einen Aufruf und eine Datenbank ist nicht nötig.

Ich will nicht prüfen, ob es die Subdomain gibt, ich führe diese lediglich aus und verzweige zum zusammengebauten Ort.

Ist der Ort zu erreichen, dann prima.

Wenn nicht Error 404 und fertig.

Und meine Arbeit ist nur, die Ordner anzulegen.

Frank
Mit Zitat antworten
Antwort

Stichworte
auslesen, einfügen, string, trennen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Platzhalter im String auslesen fips PHP Grundlagen 1 23.02.2009 15:08:38
Konstanten-Wert aus String auslesen arne_dp PHP Grundlagen 2 20.10.2007 18:54:42
URL aus String auslesen etron770 PHP Grundlagen 0 24.03.2004 15:43:45
Gekennzeichnete Wörter aus einem String in Array auslesen DiJae PHP Grundlagen 7 22.03.2004 15:40:13
Teil aus einem String auslesen pfuchs PHP Grundlagen 9 12.08.2003 13:33:03


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:31:32 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt