2016-06-02 18 views
0

Ich muss Ordner auf bestimmten Pfad erstellen.PHP erstellen Ordner auf bestimmten Pfad

Das ist mein Weg, wo ich Ordner auf diesem Weg

/media/catalog/product 

alle neu erstellten Ordner im Produktordner sein muss

mein Skript mit Code erstellen müssen

ist
/api 

I versucht mit diesem aber nicht arbeiten

//this part works 
$firstFolderName = $image_name_no_exstension[0]; 
$secondFolderName = $image_name_no_exstension[1]; 

// this part do not work 
if (!is_dir('/media/catalog/product/'.$firstFolderName)) { 
    mkdir("/media/catalog/product/".$firstFolderName, 0777, true); 
} 
+3

Beachten Sie, dass der Benutzer die 'php' läuft (in der Regel www-data genannt) Prozess muss Schreibrechte für dieses Verzeichnis haben – dimlucas

+2

und weiter verwenden Sie absolute Pfade. Ich bin nicht wirklich gut darin, aber ich denke du solltest relative Pfade benutzen. – JRsz

+0

Was bedeutet "nicht funktionieren"? Welchen Fehler bekommst du? Sind Sie sicher, dass Sie über die Berechtigung zum Erstellen des Verzeichnisses verfügen? – johannes

Antwort

0

Wie gesagt, ist Problem nicht in Berechtigungen beheben i Problem mit dirname(__FILE__)

Code:

if (!is_dir(dirname(__FILE__) . '/../media/catalog/product/' . $firstFolderName)) { 
       mkdir(dirname(__FILE__) . '/../media/catalog/product/' . $firstFolderName, 0777, true); 
      } else { 
       mkdir(dirname(__FILE__) . '/../media/catalog/product/' . $firstFolderName . '/' . $secondFolderName, 0777, true); 
      } 

.... 

move_uploaded_file($file_tmp, dirname(__FILE__) . '/../media/catalog/product/' . $firstFolderName . '/' . $secondFolderName . '/' . $file_name); 
0

Ich denke, es gibt drei Möglichkeiten.

  1. Sie erhalten keine Daten in $firstFolderName var.
  2. Der Wert var ist für den Ordnernamen ungültig.
  3. Produktordner hat keine 777-Berechtigung.
Verwandte Themen