datei in erstellten Ordner kopieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • datei in erstellten Ordner kopieren

    Hallo !
    Ich habe folgende function die auch funktioniert, nun möchte ich wenn ein Ordner erstellt wird eine Datei aus einem anderen Ordner mit in den erstellten kopiert wird, wo liegt mein fehler?

    HTML-Code:
    public function createDirectory() {
    		if ($this->enableDirectoryCreation) {
    			$directoryName = $_POST['directory'];
    			
    
    			// Convert spaces
    			$directoryName = str_replace(' ', '_', $directoryName);
    
    			// Clean up formatting
    			$directoryName = preg_replace('/[^\w-_]/', '', $directoryName);
    
    			if (isset($_GET['dir'])) {
    				$this->__currentDirectory = $_GET['dir'];
    			}
    
    			if (! $this->__currentDirectory) {
    				$filePath = realpath($this->startDirectory);
    			} else {
    				$this->__currentDirectory = str_replace('..', '', $this->__currentDirectory);
    				$filePath = realpath($this->__currentDirectory);
    			}
    
    			$filePath = $filePath . DS . strtolower($directoryName);
                
    			if (file_exists($filePath)) {
    				return false;
    			}
    
    			return mkdir($filePath, 0755);
     copy("/home/www/-meine domain-/index5.php", "../upload/".$_POST['directory']."/index5.php")
    			
    			
                           
    		}
    		return false;
    	}
    Es kann ja nur an meinem "copy code" liegen, den habe ich versucht selber einzubauen, die Pfade stimmen, in einem anderen script setze ich diesen auch ein, nur hier geht es nicht, ich denke es stimmt was mit den variablen nicht.

    Danke im voraus

  • #2
    Nach einem return ist die Funktion beendet. Dein copy() wird also nie ausgeführt.

    Außerdem sollte eine Funktion, die "createDirectory" heißt, keine Dateien herumkopieren.

    Kommentar


    • #3
      danke für die Antwort, du hattest recht, ich habe es jetzt direkt beim upload probiert und da funktioniert es.

      Kommentar


      • #4
        Und nur so am Rande:

        Due veränderst die Variable $_POST['directory']
        PHP-Code:
        $directoryName $_POST['directory'];
        // Convert spaces
        $directoryName str_replace(' ''_'$directoryName); 
        Solltest also korrekter Weiese beim copy auch den veränderten Wert berücksichtigen, also strtolower($directoryName) bzw $filePath verwenden.
        Zuletzt geändert von SysOp; 02.08.2016, 12:07.

        Kommentar

        Lädt...
        X