2017-12-22 10 views
1

Wir haben eine Web-Basis-Anwendung, die Ordner in einem FTP-Speicherort generiert und Ordnernamen basieren auf den Daten innerhalb der XML bereitgestellt. Ordnernamen hat unbegrenzte Möglichkeit und vor kurzem sind wir auf diese Daten gestoßen, die CON als Ordnername erfordert.PHP mkdir funktioniert nicht mit Ordner mit 'Systemaktion' oder 'Gerät' Referenzname

Da nun CON einer der Namen, die Sie nicht verwenden können, und ja die Corporate Windows-Maschine verwendet, ist es trotzdem zu Kraft diesen Ordner erstellen?

Der aktuelle Code verwendet mkdir, um Ordner zu erstellen, aber es sieht so aus, als ob es nirgendwohin geht.

Dieser Ordner wird von verschiedenen Benutzern von Zeit zu Zeit mit FTP-Verbindungen Brücke von der App zugreifen, so gibt es mögliche negative/Begrenzung, die wir in Bezug auf Dateimanipulation in dem Ordner erstellen können?

Andere Lösung, die ich denke, ist: Filter Gegenstände, die CON und benennen Sie sie auf etwas anderes hat, aber das ist der letzte Ausweg, und das würde hohe Modifikation innerhalb der App kosten.

Antwort

0

Verwenden Sie diese Syntax:

mkdir("\\\\.\\C:\\path\\to\\con"); 

Basierend auf Unable to rename a folder or a file as 'con'.

+0

Ich bekomme 'mkdir(): Keine solche Datei oder Verzeichnis 'über PHP und FTP-Pfad. Ich habe es auch lokal in der Befehlszeile versucht, aber ich bekomme 'Das Verzeichnis oder die Datei kann nicht erstellt werden'. Vielleicht funktioniert es nicht mehr mit Windows 8 und Windows 10 OS? – threeFatCat

+0

Getestet unter Windows 10 (nur). Funktioniert ok. Welchen genauen Befehl versuchst du? Zeig uns. Welche Version von PHP? –

+0

Version 5.6.14, tut mir leid, mein Fehler, es funktioniert auf der Kommandozeile. Aber durch ftp scheint es, ich kann es nicht funktionieren lassen. '$ folder = '//./'. FILE_SERVER_FTTP_CREDENTIAL.FILE_SERVER_PATH. $ Ordnername. '/'. $ Ordnername .'_ '. $ Ordner_ID.'/';' wobei '//./ftp://username zurückgibt : password @ Constant/Path/CON/CON_1234' und ich habe es als 'mkdir ($ folder);' benutzt und mir den Fehler gegeben: 'mkdir(): Keine solche Datei oder Verzeichnis '. Ich sollte Schrägstrich verwenden, da dies ein URI ist, oder? – threeFatCat