Allgemeines Computer Forum > Programmieren

php - aktuellen Pfad anzeigen

(1/1)

Baldrian:
Moin, ist es möglich mit php den aktuellen Pfad anzuzeigen?
Also zur Erklärung oder worum es mir geht:
Ich möchte meine Crux Ports Verzeichnisse mit index Dateien versehen. Dafür hab ich mir schon ein passendes Script geschrieben, das so einen Index erzeugt.
Das Problem ist bloß, das Script ist nicht übertragbar also ich gebe im Script schon den Pfad vor und definiere nur noch das Ports Verzeichnis als Variable.
So könnte man das Script aber nicht auf eine andere Domain anwenden (oder Ordnerstrucktur)

Also das ganze soll am Ende so eine Zeile ergeben:
httpup sync http://domain.und/pfad/in/dem/diese/datei/liegt Verzeichnisname

Gesucht ist halt eine Möglichkeit wie sich der aktuelle Pfad auslesen lässt.
 PHP ist nicht zwingend, ich dachte nur das wäre wohl am ehesten was.

Andreas:


Den aktuellen Pfad, wo sich dein Script befindet kannst du mit der Variable $_SERVER['SCRIPT_NAME'] auslesen. Ggf. brauchst du für die URL auch die Variable $_SERVER["HTTP_HOST"].

Kannst auch mal nach $_SERVER PHP googlen, das ist eine supberglobale Variable, wo du einige Infos auslesen kannst.

Baldrian:
Danke, das hat mir schon mal weiter geholfen.
Jetzt noch mal eine Frage, gibt es für php so etwas wie einen nicht interaktiven editor? Also so wie den sed (stream editor) in shell-scripten?

Ich bekomme jetzt so eine Zeile zusammen:

--- Zitat ---httpup sync http://ecarux.mayer-cs.de/files/ports/alsa-lib/index.php alsa-lib
--- Ende Zitat ---

Ich bräuchte aber eine veränderung, so das das ganze zu dem hier wird:

--- Zitat ---httpup sync http://ecarux.mayer-cs.de/files/ports#alsa-lib alsa-lib
--- Ende Zitat ---

Also die Ausgabe der Variable müsste noch mal editier werden.
das "index.php" soll weg und der "/" Slash zwischen "ports" und dem "namen" müsste durch eine # ersetzt werden.
Es würde auch schon reichen, wenn einfach alles nach "ports" gelöscht werden würde. Da die Datei eh direckt für einen Port erstellt wird, könnte ich die Geschichte mit "#name name" auch schon vorher von meinem Script fest vergeben lassen.

Andreas:

--- Zitat von: Baldrian am Oktober 21, 2006, 16:12:13 ---Danke, das hat mir schon mal weiter geholfen.
Jetzt noch mal eine Frage, gibt es für php so etwas wie einen nicht interaktiven editor? Also so wie den sed (stream editor) in shell-scripten?

Ich bekomme jetzt so eine Zeile zusammen:

--- Zitat ---httpup sync http://ecarux.mayer-cs.de/files/ports/alsa-lib/index.php alsa-lib
--- Ende Zitat ---

Ich bräuchte aber eine veränderung, so das das ganze zu dem hier wird:

--- Zitat ---httpup sync http://ecarux.mayer-cs.de/files/ports#alsa-lib alsa-lib
--- Ende Zitat ---

Also die Ausgabe der Variable müsste noch mal editier werden.
das "index.php" soll weg und der "/" Slash zwischen "ports" und dem "namen" müsste durch eine # ersetzt werden.
Es würde auch schon reichen, wenn einfach alles nach "ports" gelöscht werden würde. Da die Datei eh direckt für einen Port erstellt wird, könnte ich die Geschichte mit "#name name" auch schon vorher von meinem Script fest vergeben lassen.


--- Ende Zitat ---


Das kannste über die Funktion str_replace() machen.


--- Code: ---<?php
$deineUrl = "http://ecarux.mayer-cs.de/files/ports/alsa-lib/index.php alsa-lib";
$replaceval = "ports#alsa-lib"; // Wert den du ersetzen möchtest.
$newUrl = str_replace ("index.php", $replaceval, $deineURL ) // String wird ersetzt und in neuer Variable $newUrl abgespeichert.

--- Ende Code ---

Oder mit substr_replace()

--- Code: ---$deineUrl = "http://ecarux.mayer-cs.de/files/ports/alsa-lib/index.php alsa-lib";
$replaceval = "ports#alsa-lib";
$newUrl = substr_replace ($deineURL, $replaceval, 46) // 46 Steht für die Position im String

--- Ende Code ---

Baldrian:
Hey super, vielen dank  :hail
Das hat geklappt.

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln