phpanfaenger: Verzeichnis erstellen und Umlaute entfernen

Beitrag lesen

Okay, meine Lösung macht eh keinen Sinn, die Ordner werden zwar korrekt angelegt, aber da die ID mit Umlaut ist, fehlt natürlich der Bezug, also sinnfrei.

Das Problem ist einfach eine Seite wo auf Bilder in Verzeichnissen zugegriffen wird, welche angelegt werden, sobald man eine Datei hochlädt, das geschieht wiederum indem man das Objekt bearbeitet, also die ObjectID nötig ist und diese muss Umlaute erlauben, man kann vom User nicht erwarten das er diese entfernt.

Also ohne Umlaute werden Bilder angezeigt, mit Umlaute (in einem Beispiel ein ö in der ObjectID) keine Chance, ich habe das mit Printer mal ausgeben lassen, mit Umlaute bleibt das Array leer.

Die Funktion sieht erstmal so aus:

  
public function getRessources() {  
        if (!($this->ressourceManager instanceof RessourceManager)) {  
            $this->ressourceManager = new RessourceManager($this->verwalter_id, $this->id);  
        }  
        return $this;  
    }  
  
    public function getImages() {  
        return $this->ressourceManager->getImages();  
    } 

In der Funktion getRessources werden scheinbar die Daten geladen, wenn man das Objekt mit Printer ausgibt erhält man die Pfade.

Die Funktion getImages ruft dann aber ein Array auf welches die Pfade der Bilder nacheinander ausgibt und dieses ist leer.

  
public function getRessources($resPath, $res = self::IMAGES_FOLDER) {  
  
        $resArr = array();  
        if ($handle = opendir($resPath)) {  
			  
			    /* Das ist der korrekte Weg, ein Verzeichnis zu durchlaufen. */  
			    while (false !== ($file = readdir($handle))) {  
			    	  if ($file != "." && $file != "..") {  
				        $ressource = new stdClass();  
		            $ressource->fileName = $file;  
		            //$ressource->createDate = date('d-m-Y H:i', $file->getMTime());  
		            $ressource->webPath = sprintf('https://www.domain.de/uploads/%s/%s/%s/%s', $this->userID, $this->objectID, $res, $file);  
		            array_push($resArr, $ressource);  
	          }  
			    }  
			  
  
					    closedir($handle);  
					}  
  
  
        return $resArr;  
    }  
    

Ich frage mich nur warum, ob das wirklich an den Umlauten liegt und ob sich da irgendwas ändern lässt?