Beiträge: 2.359 
	Themen: 34 
	Registriert seit: 25.05.2018
	
 MyBB-Version: 1.8.39
	 
 
	
		
		
		17.07.2020, 16:05 
(Dieser Beitrag wurde zuletzt bearbeitet: 17.07.2020, 16:06 von Schnapsnase.)
		
	 
	
		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?     Ich denke ja, dass ich es "einfach" replacen sollte?!
	  
	
	
	
	
 
 
	
	
	
		
	Beiträge: 1.136 
	Themen: 39 
	Registriert seit: 27.08.2014
	
	 
 
	
		
		
		17.07.2020, 17:24 
(Dieser Beitrag wurde zuletzt bearbeitet: 17.07.2020, 17:25 von itsmeJAY.)
		
	 
	
		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($pfad, PATHINFO_DIRNAME)); 
 
if (substr($meinPfad, 0, 2) == './') { 
$meinPfad = substr_replace($meinPfad, '', 0, 2); 
}  
 
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.   
	 
	
	
	
	
 
 
	
	
	
		
	Beiträge: 2.359 
	Themen: 34 
	Registriert seit: 25.05.2018
	
 MyBB-Version: 1.8.39
	 
 
	
	
		 (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...    
 (17.07.2020, 17:24)itsmeJAY schrieb:  Beispiel: 
PHP-Code: $pfad = './directory/xyz.php'; 
 
$meinPfad = trim(pathinfo($pfad, PATHINFO_DIRNAME)); 
 
if (substr($meinPfad, 0, 2) == './') { 
$meinPfad = substr_replace($meinPfad, '', 0, 2); 
}  
  
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.   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.     
Vielen Dank aber für die Unterstützung!! Ich werde Beides die Tage mal testen.
 
Grüße
	  
	
	
	
	
 
 
	
	
	
		
	Beiträge: 2.359 
	Themen: 34 
	Registriert seit: 25.05.2018
	
 MyBB-Version: 1.8.39
	 
 
	
	
		 (17.07.2020, 17:24)itsmeJAY schrieb:  Beispiel: 
 
PHP-Code: $pfad = './directory/xyz.php'; 
 
$meinPfad = trim(pathinfo($pfad, PATHINFO_DIRNAME)); 
 
if (substr($meinPfad, 0, 2) == './') { 
$meinPfad = substr_replace($meinPfad, '', 0, 2); 
}  
  
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.   
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!
	  
	
	
	
	
 
 
	 
 |