Formular & Datenbank
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
all
benutzername
button
code
datenbank
eingabe
element
erstellen
file
filter
frage
helfen
inhaber
not
note
null
ordner
rest
tabelle
target
-
Hallo,
wer kann mir helfen, sobald hier im Script ein Ordner angemeldet wurde, das es diesen Ordnernamen auch in der Datenbank speichert:
Datenbankfeld: galleryplayer_lb << braucht man das?
Script:
<?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>"; // Wurde 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 Benutzername $user = $_POST['user']; if ( preg_match ('/\./', $user) || preg_match ('/\//', $user) ) { // Sicherheit! echo "Benutzername ist leider 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)); // Ordner wird erstellt! if ( !is_dir ($target = "./User/$user/") ) { mkdir ($target, 0755); echo "Ordner: <strong>$user</strong> wurde erfolgreich erstellt!"; } else { echo "Ordner: <strong>$user</strong> existiert bereits!"; } smartCopy ($source, $target); } } } # **** function Lokalbook ****************************************************** # **** source: czibere Lima-City.de ************ # **** Inhaber: Tobias Kein *********************************************** # variablen $__dest umbenannt: $_dest # ****************************************************************************** # source=file & dest=dir => copy file from source-dir to dest-dir. # source=file & dest=file / not there yet => copy file from source-dir to dest and overwrite a file there, if present. # source=dir & dest=dir => copy all content from source to dir. # source=dir & dest not there yet => copy all content from source to a, yet to be created, dest-dir. function smartCopy ($source, $dest, $folderPermission = 0755, $filePermission = 0644) { $result = false; if ( is_file ($source) ) { # $source is file if ( is_dir ($dest) ) { # $dest is folder if ( $dest[strlen ($dest) - 1] != "/") # add "/" if necessary $_dest=$dest . "/"; $_dest .= basename ($source); } else { # $dest is (new) filename $_dest = $dest; } $result = copy ($source, $_dest); chmod ($_dest, $filePermission); } elseif ( is_dir ($source) ) { # $source is dir if ( !is_dir ($dest) ) { # dest-dir not there yet, create it @mkdir ($dest, $folderPermission); chmod ($dest, $folderPermission); } if ( $source[strlen ($source) - 1] != "/") # add "/" if necessary $source = $source . "/"; if ( $dest[strlen ($dest) - 1] != "/") # add "/" if necessary $dest = $dest . "/"; # find all elements in $source $result = true; # in case this dir is empty it would otherwise return false $dirHandle = opendir ($source); while ( $file = readdir ($dirHandle) ) { # note that $file can also be a folder if ( $file !== "." && $file !== "..") { # filter starting elements and pass the rest to this function again # echo "$source$file ||| $dest$file<br />\n"; $result = smartCopy ($source.$file, $dest.$file, $folderPermission, $filePermission); } } closedir ($dirHandle); } else { $result = false; } return $result; } ?>
Vielen Dank =) Tobi -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ehrlich gesagt, verstehe ich die Frage nicht ganz. Möchtest du, dass der Name eines neu erstellten ordners in die Datenbank geschrieben wird?
Falls ja... Einfach mysql_query() nach mkdir() ausführen.
Wenn du etwas genauer mit deiner Frage wirst, kann ich auch genauer darauf antworten =) -
Genau, wenn in meinem Script ein Ordner angelegt wird das es in der Datenbank den Ordnername mitspeichert, unter Datenbankfeld: galleryplayer_lb
Weiß nicht wie das geht mit mysql_query nach mkdir, keine Ahnung komme damit gar nicht klar =)
Gruß Tobi -
mysql_query("INSERT INTO `galleryplayer_lb` (`user`) VALUES ('".$user."')");
Vorraussetzung dafür ist
- MySQL Verbindung ist aufgebaut
- die Tabelle galleryplayer_lb existiert
- die Spalte user existiert in der Tabelle galleryplayer_lb und ist mindestens Varchar
Beitrag zuletzt geändert: 21.4.2010 18:06:48 von fabo -
könnte mir jemand dazu noch helfen, das in meinem Script einzubauen =), kann leider noch nicht gu Programmieren bin neuanfänger =)
-
Pseudocode:
<? error_reporting(E_ALL); $mysqlhost = "mysql.lima-city.de"; $mysqluser = "SQL-BENUTZERNAME"; $mysqlpwd = "SQL-PASSWORT"; $mysqldb = "SQL-DATENBANK"; $connection = @mysql_connect($mysqlhost,$mysqluser, $mysqlpwd) or die(mysql_error()); @mysql_select_db($mysqldb,$connection) or die(mysql_error()); // 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>"; // Wurde 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 Benutzername $user = $_POST['user']; if ( preg_match ('/\./', $user) || preg_match ('/\//', $user) ) { // Sicherheit! echo "Benutzername ist leider 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)); // Ordner wird erstellt! if ( !is_dir ($target = "./User/$user/") ) { mkdir ($target, 0755); @mysql_query("INSERT INTO `galleryplayer_lb` (`user`) VALUES ('".$user."')") or die(mysql_error()); echo "Ordner: <strong>$user</strong> wurde erfolgreich erstellt!"; } else { echo "Ordner: <strong>$user</strong> existiert bereits!"; } smartCopy ($source, $target); } } } # **** function Lokalbook ****************************************************** # **** source: czibere Lima-City.de ************ # **** Inhaber: Tobias Kein *********************************************** # variablen $__dest umbenannt: $_dest # ****************************************************************************** # source=file & dest=dir => copy file from source-dir to dest-dir. # source=file & dest=file / not there yet => copy file from source-dir to dest and overwrite a file there, if present. # source=dir & dest=dir => copy all content from source to dir. # source=dir & dest not there yet => copy all content from source to a, yet to be created, dest-dir. function smartCopy ($source, $dest, $folderPermission = 0755, $filePermission = 0644) { $result = false; if ( is_file ($source) ) { # $source is file if ( is_dir ($dest) ) { # $dest is folder if ( $dest[strlen ($dest) - 1] != "/") # add "/" if necessary $_dest=$dest . "/"; $_dest .= basename ($source); } else { # $dest is (new) filename $_dest = $dest; } $result = copy ($source, $_dest); chmod ($_dest, $filePermission); } elseif ( is_dir ($source) ) { # $source is dir if ( !is_dir ($dest) ) { # dest-dir not there yet, create it @mkdir ($dest, $folderPermission); chmod ($dest, $folderPermission); } if ( $source[strlen ($source) - 1] != "/") # add "/" if necessary $source = $source . "/"; if ( $dest[strlen ($dest) - 1] != "/") # add "/" if necessary $dest = $dest . "/"; # find all elements in $source $result = true; # in case this dir is empty it would otherwise return false $dirHandle = opendir ($source); while ( $file = readdir ($dirHandle) ) { # note that $file can also be a folder if ( $file !== "." && $file !== "..") { # filter starting elements and pass the rest to this function again # echo "$source$file ||| $dest$file<br />\n"; $result = smartCopy ($source.$file, $dest.$file, $folderPermission, $filePermission); } } closedir ($dirHandle); } else { $result = false; } return $result; } ?>
Ganz oben musst du die Variablen entsprechend mit deinen Datenbank-Zugangsdaten füllen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage