Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
pathinfo() Function
#11
Gut, ich möchte das eigentlich selbst realisieren, daher meine spärlichen Informationen.

Szenario:
In den Settings ist wahlweise folgendes gegeben
1. "./xyz.php" (Dateiname ist frei wählbar)
2. "./directory/xyz.php (Verzeichnis und Dateiname sind frei wählbar)

zu 1. wenn nicht existiert, dann im ftp anlegen - das ist kein Problem
zu 2. wenn nicht existiert, dann im ftp Verzeichnis anlegen und Datei anlegen - dabei scheitere ich, da ich hierfür eben den Verzeichnisnamen ohne den Punkt brauche.

Jetzt verstanden? Wink  Ich denke ja, dass ich es "einfach" replacen sollte?!
Zitieren
#12
Hi,

ja, kannst du durch Replace machen wenn es dir in der Situation hilft (ich kenne den Code ja nicht). Ich würde es aber vorher validieren, bevor du da irgendetwas ersetzt. Unten ein Beispiel (falls du kein Codebeispiel haben willst, höre hier auf zu lesen).

Beispiel:

PHP-Code:
$pfad './directory/xyz.php';

$meinPfad trim(pathinfo($pfadPATHINFO_DIRNAME));

if (
substr($meinPfad02) == './') {
$meinPfad substr_replace($meinPfad''02);


Das hier würde auch gehen:

PHP-Code:
$meinPfad str_replace("./"""$meinPfad); 

Allerdings würde PHP dann im gesamten String ./ mit nichts ersetzen. Bei der ersten Variante muss es an den ersten zwei Stellen stehen, sonst ersetzt PHP es nicht. Naja, wie auch immer. Wink
Zitieren
#13
(17.07.2020, 17:24)itsmeJAY schrieb: (falls du kein Codebeispiel haben willst, höre hier auf zu lesen).
Naja, so war`s ja nicht gemeint, aber ich wollte halt gerne... Wink

(17.07.2020, 17:24)itsmeJAY schrieb: Beispiel:
PHP-Code:
$pfad './directory/xyz.php';

$meinPfad trim(pathinfo($pfadPATHINFO_DIRNAME));

if (
substr($meinPfad02) == './') {
$meinPfad substr_replace($meinPfad''02);


Das hier würde auch gehen:

PHP-Code:
$meinPfad str_replace("./"""$meinPfad); 

Allerdings würde PHP dann im gesamten String ./ mit nichts ersetzen. Bei der ersten Variante muss es an den ersten zwei Stellen stehen, sonst ersetzt PHP es nicht. Naja, wie auch immer. Wink
An Deine 2. Lösung ("str_replace") hatte ich mich eigentlich geklammert, da mir nichts Besseres einfiehl.
Lösung1 liest sich auch gut, obwohl ich sie noch nicht vollständig verstehe. Rolleyes

Vielen Dank aber für die Unterstützung!! Ich werde Beides die Tage mal testen.

Grüße
Zitieren
#14
(17.07.2020, 17:24)itsmeJAY schrieb: Beispiel:

PHP-Code:
$pfad './directory/xyz.php';

$meinPfad trim(pathinfo($pfadPATHINFO_DIRNAME));

if (
substr($meinPfad02) == './') {
$meinPfad substr_replace($meinPfad''02);


Das hier würde auch gehen:

PHP-Code:
$meinPfad str_replace("./"""$meinPfad); 

Allerdings würde PHP dann im gesamten String ./ mit nichts ersetzen. Bei der ersten Variante muss es an den ersten zwei Stellen stehen, sonst ersetzt PHP es nicht. Naja, wie auch immer. Wink

Hi JAY,
kurze Rückmeldung:
Ja, es funktioniert eigentlich Beides. Ich habe mich für die Variante (2) mit weniger Code entschieden.
Das die Zeichenkette (./) in meinem Fall  im Pfad mehrmals vorkommt, ist nahezu unwahrscheinlich.

Vielen Dank nochmal für die geistige Unterstützung!
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Function = Variable CKOne 2 2.136 04.08.2008, 22:57
Letzter Beitrag: CKOne