Das wird ja dann übergeben und in den ssh2 Befehl eingefügt. Der dann rein theoretisch so aussehen müsste:
(Habe $folder mal ersetzt)
$output1 = ssh2_exec($connection, 'rm -r ' . escapeshellarg('/media/Mitarbeiter/../../../../media/Mitarbeiter/Admin/Test/'));
Das macht ja irgendwie wenig sinn.
Jein. Der Pfad wird vom System dann entsprechend übersetzt und es wird das richtige Verzeichnis gelöscht. Aber warum übergibst du überhaupt eine vollständigen Pfad wenn du eigentlich nur einen Teil brauchst? Und warum die ganzen »../« davor wenn »/media/Mitarbeiter/Admin/Test« das gleiche bewirken würde ohne dass die Gefahr bestünde dass man sich mit den Ebenen (und damit den »../«) verzählt?
Aber unabhängig davon, ich habe es dir schon mal in einem anderen Thread geschrieben (warum hat in diesem niemand darauf hingewiesen?!): du hast immernoch eine gravierende Sicherheitslücke in deinem Code wenn du relative Pfadangaben zulässt und den kompletten Pfad angibst. Die Gefahr dass dir jemand das komplette System platt macht besteht durch das weglassen von sudo nicht mehr, du darfst aber trotzdem nur den Pfad unterhalb von »/media/Mitarbeiter« übergeben und darfst in dem übergebenen Wert auf keinen Fall »../« zulassen, damit nicht beliebige Verzeichnisse gelöscht werden können (halt alle die der verwendete Benutzer löschen darf).
Evtl. wäre es auch sinnvoll bei der SSH-Verbindung (bei der mir ohnehin nicht ganz klar ist wofür die notwendig ist, liegen die Daten nicht auf dem Rechner auf dem der Apache läuft?) keine Verbindungen mit Passwort zuzulassen sondern nur welche über Public Keys.