PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   datei in erstellten Ordner kopieren (https://www.php-resource.de/forum/php-developer-forum/105662-datei-in-erstellten-ordner-kopieren.html)

Anti2003 28-07-2016 03:15

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

h3ll 28-07-2016 13:41

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.

Anti2003 28-07-2016 15:00

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

SysOp 02-08-2016 13:05

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.


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:37 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG