mkdir () funktioniert nicht

8

Mein Code

%Vor%

und

%Vor%

funktioniert nicht, der abgesicherte Modus ist ausgeschaltet, und ich habe sogar versucht, alle übergeordneten Ordner auf 777 zu setzen.

Irgendwelche Ideen?

EDIT: Ich habe Fehlermeldungen aktiviert, in meiner Frustration habe ich den ganzen Pfad durchgearbeitet, nur um sicherzustellen, dass das nicht das Problem ist. Es muss etwas Dummes sein, was einfach passiert.

BEARBEITEN BEARBEITEN: Upvotes für alle, die mit Vorschlägen geantwortet haben ... Aber ich werde keine Antwort auswählen, da dies immer noch nicht gelöst ist, aber dann denke ich, dass dies eine der offen gelassenen sein wird für immer.

EDIT x 3: Also habe ich immer die unbefriedigendste Lösung für diese Frage ... Ich habe mit einem sauberen VM-Image begonnen, es erneut versucht und es funktioniert jetzt. Kein Witz.

    
Mike Keller 24.06.2010, 18:54
quelle

6 Antworten

-1

Sie fehlen Anführungszeichen um den Pfadnamen-Parameter.

    
Daniel Egeberg 24.06.2010, 18:55
quelle
13

Gibt es alle übergeordneten Verzeichnisse?

Wenn nicht, müssen Sie die Rekursion aktivieren (vorausgesetzt PHP5 ist hier):

%Vor%

EDIT: Habe den versteckten Kommentar nicht gesehen, dass jedes Verzeichnis von var downwardal auf "global schreibbar" gesetzt wurde, also wette ich, dass der Verzeichnispfad existiert und das obige nicht hilfreich ist. Entschuldigung!

    
ajm 24.06.2010 19:18
quelle
2

Versuchen Sie, diese Verzeichnisse rekursiv zu erstellen, wie Sie es mit mkdir -p in der Befehlszeile tun würden? Wenn ja, geben Sie true als dritten Parameter für mkdir an.

Um nur die vorherigen Vorschläge zu wiederholen, geben Sie bitte die Fehlermeldungen an, die Sie erhalten. Wenn Sie keine erhalten, verwenden Sie dies vor Ihrem Anruf: error_reporting(-1); // ALL messages und ini_set('display_errors', 'On'); .

    
janmoesen 25.06.2010 12:45
quelle
1

Ich habe ein ähnliches Problem und habe herausgefunden, dass ich keinen freien Speicherplatz mehr auf meiner Festplatte habe. Überprüfen Sie mit dem Befehl df (auf Linux), wie voll Ihr Laufwerk ist. Es ist möglich, dass root Dateien und Ordner in dieser Situation erstellen kann, weil er Speicherplatz reserviert hat. Wenn Sie Ihr Skript über die Befehlszeile als root user ausführen, gibt es keinen Fehler, aber wenn Ihr Skript von apache ausgeführt wird, tritt ein Fehler auf.

    
Adam Sádovský 29.10.2012 08:17
quelle
0

Hast du es mit dem kürzesten Test versucht?

mkdir ('Verzeichnis', 0777);

Wenn das nicht funktioniert, würde ich versuchen, mit einem Standard-CHMOD wie 0755 zu erstellen (das ist eine völlig zufällige Schätzung, vielleicht lässt der Server es nicht zu, 0777 über PHP zu erstellen)

Wenn das nicht funktioniert, würde ich sagen, dass der Server wahrscheinlich ein anderes Setup / PHP braucht, um den Schreibzugriff auf den Ordner zu behalten, vielleicht könnten Sie Ihren Host-Provider fragen?

    
Dominique 25.06.2010 12:47
quelle
-3

Sie müssen das Attribut in Anführungszeichen setzen:

%Vor%     
pltvs 24.06.2010 20:59
quelle

Tags und Links