copy() und Verzeichnisse
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfragen
argument
bauen
beispiel
code
cool danke
datei
datum
eingabe
fehler
file
first
http
kopieren
ordner
respekt
schutzmechanismen
target
textfeld
wichtig code
-
Hey,
ich habe ein Problem, bei dem übertragen bei einem Großen Ordner wie zum Beispiel eine HP, die ist im Ordner Galleryplayer und wenn man dann im Textfeld TobiTK reintippt sollte es doch normal die ganzen Ordner rüberladen aber da kommt ein Fehler:
Warning: copy() [function.copy]: The first argument to copy() function cannot be a directory in /home/webpages/lima-city/tobitk/html/Gallery/useranmelde.php on line 37
bei einem Bild geht es etze ich ein Ordner dazu geht es nicht mehr.
Zeile 37:
foreach ( $ls as $f ) {copy ("$source/$f", "$target/$f");}
Script:
<?php // http://lokalbook.onpw.de/Gallery/useranmelde.php // http://lokalbook.onpw.de/Gallery/useranmelde.php // http://lokalbook.onpw.de/Gallery/useranmelde.php error_reporting(E_ALL); // Abfragen des Usernamen echo "<form method=\"POST\"> Gib deinen Namen ein: <input type=\"text\" name=\"user\" value=\"\" title=\"Namen eingeben\" /> <input type=\"submit\" name=\"create_folder\" value=\"Ordner erstellen\" /> </form>"; // Ist Button "Ordner erstellen" gedrückt if ( isset ($_POST['create_folder']) ) { // Die eingabe ist leider leer. if ( empty ($_POST['user']) or strlen (trim ($_POST['user'])) == 0 ) { echo "Die eingabe ist leider leer."; } else { // Erstelle Ordner mit Benutzernamen $user = $_POST['user']; if ( preg_match ('/\./', $user) || preg_match ('/\//', $user) ) { // Schutzmechanismus - Könnte man noch verbessern echo "Benutzername ungültig!"; } else { // listet den quellordner in $ls[] $ls = null; $source = "./Galleryplayer/"; foreach ( glob ("$source*") as $f ) {$ls[] = basename ($f);} # exit ("<pre>".print_r ($ls, true)); // erstellt ordner WENN NOETIG if ( !is_dir ($target = "./User/$user/") ) { mkdir ($target, 0755); echo "Ordner: <strong>$user</strong> wurde erfolgreich erstellt!"; // kopiert die daten foreach ( $ls as $f ) {copy ("$source/$f", "$target/$f");} } else { echo "Ordner: <strong>$user</strong> existiert bereits!"; } } } } ?>
Gruß Tobi -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Der Fehler sollte doch wohl eindeutig sein!
cannot be a directory!
Du kannst mit copy() keine Ordner kopieren.
LG cookies -
tobitk schrieb:
Wie kann man das machen das es Ordner, etc Dateien mit nimmt?
Gruß Tobi
Gar nicht. Und wenn du mal auf php.net nachgeguckt hättest, wüsstest du das auch.
Wenn dann musst du dir was mit opendir(), readdir() und copy() bauen.
LG cookies -
Hey,
puhh, da musst du uns nochmals Helfen, kannst du das an meinem Script machen Und hier reinposten hilft auch meist andere =) also opendir, readdir und copy?
Wäre echt voll cool und nett!
Gruß Tobi -
Das sollte gehen:
<?php function dircopy ($dir, $dest) { $handle = opendir($dir); while ($file = readdir($handle)) { if (!copy($dir.$file, $dest.$file)) return false; } return true; } //Beispiel: dircopy('ein_verzeichnis/', 'ein_anderes_verzeichnis/'); // / am Ende ist wichtig! ?>
LG cookies
Beitrag zuletzt geändert: 11.4.2010 22:44:43 von cookies -
Hey,
cool Danke.
Hilfst du mir das noch in meinem Script einzubauen, ist meine letzte bitte =)
Echt Klasse hier Top Support Top Hilfe Respekt.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage