kostenloser Webspace werbefrei: lima-city


Alle Pfade auf einmal in DB speichern

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    shakal

    Kostenloser Webspace von shakal

    shakal hat kostenlosen Webspace.

    Da bin ich wieder mit ner neuen Frage.
    Und zwar m?chte ich, dass alle Bilder die in einem Ordner sind, auf einmal in die Datenbank eingetragen werden und jeder Pfad seine eigene id bekommt.
    also kurz gefasst:
    Alle Pfade zu den Bildern aus dem Ordner auslesen und mit id in Datenbank speichern.
    Hat wer ne ahnung wie man das realisieren kann?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. vielleicht schriebst du ein upload prpgramm und das schreibt auch den namen des bildes in die datenbank oder generiert eine ID oder so was ....
    meinst du so was?
  4. Autor dieses Themas

    shakal

    Kostenloser Webspace von shakal

    shakal hat kostenlosen Webspace.

    naja, also net wirklich, ich will ja net alles von hand eingeben. der soll das schon automatisch machen
    also im rpinzip will ich nur n formular haben, wo ich den ordnerpfad habe, und das formular ?bergibt an den ordnerpfad an die php-funktion, die alle einzelnen pfade aus dem ordner in die datenbank eintr?gt....
  5. k***o

    liegen die bilddateien auf deinem rechner oder auf dem server? wenn sie auf deinem liegen geht das nicht. sonst etwa so:

    $dh = opendir($_POST["pfad"]);
    while ($file = readfile($dh)) {
    if (is_file($file)) {
    mysql_query("INSERT INTO bilder SET pfad='".$_POST["pfad"]."/$file'");
    }
    }
    closedir($dh);
  6. t*****b

    Bilder in einer Datenbank zu speichern ist nicht gut. Dies verlangt zuviel traffic und verlangsamt das Laden deiner Website. Du kannst in die Datenbank ja folgendes speichern:
    id|Pfad zum Bild|Bildname
  7. Autor dieses Themas

    shakal

    Kostenloser Webspace von shakal

    shakal hat kostenlosen Webspace.


    $dh = opendir($_POST["pfad"]);
    while ($file = readfile($dh)) {
    if (is_file($file)) {
    mysql_query("INSERT INTO bilder SET pfad='".$_POST["pfad"]."/$file'");
    }
    }
    closedir($dh);

    speichert das jetzt die bilder an sich in der DB oder nur die pfade?


    Bilder in einer Datenbank zu speichern ist nicht gut. Dies verlangt zuviel traffic und verlangsamt das Laden deiner Website. Du kannst in die Datenbank ja folgendes speichern:
    id|Pfad zum Bild|Bildname

    hatte ich ja auch vor :smile:
  8. ich glaub den pfad, da steht ja auch das er das in pfad einsetzten soll, aber am besten sollte sich der poster dazu ?u?ern
    achja probs doch aus :thumb:
    mysql_query("INSERT INTO bilder SET pfad='".$_POST["pfad"]."/$file'");
  9. k***o

    nur die pfade nat?rlich. willst du die bilder speichrn
  10. Autor dieses Themas

    shakal

    Kostenloser Webspace von shakal

    shakal hat kostenlosen Webspace.

    naja, gehen tut es net :confused: passiert einfach nichts.... wird nichts inne db eingetragen
  11. k***o

    tja dann musst du halt mal ein bischen debuggen!

    1. besteht ?berhaupt eine datenbankverbindung?
    2. mal schaun ob die schleife l?uft
    3. mal schaun ob die if abfrage geht
    4. schaun ob das query fehlerhaft is
    5. fehler korrigieren

    [php]

    mysql_connect("host","user","pwd");
    mysql_select_db("database");

    $dh = opendir($_POST["pfad"]);
    while ($file = readfile($dh)) {
    echo "$file";
    if (is_file($file)) { // alternativ: $file != "." && $file != ".."
    echo " - is file";
    mysql_query("INSERT INTO bilder SET pfad='".$_POST["pfad"]."/$file'");
    echo " - mysql_error: ".mysql_error();
    }
    echo "<br>\n";
    }
    closedir($dh);

    [/php]

    du kannst doch nicht einfach nen code kopieren den sich hier jemand aus den fingern saugt und erwarten das der sofort geht...
  12. Autor dieses Themas

    shakal

    Kostenloser Webspace von shakal

    shakal hat kostenlosen Webspace.

    damit hab ich auch wahrlich nicht gerechnet ^^
    der einzige fehler der kommt lautet: Warning: closedir(): supplied argument is not a valid Directory resource in /home/webpages/lima-city/shakal/html/insertpics.php on line 20

    wenn ich das aus dem script herausnehme, dann passiert, wie gesagt, nichts....
  13. k***o

    oh man... $_POST["pfad"] ist eine varible.
    wenn du die nicht zuweist is die leer und erversucht den ordner "" zu ?ffnen was er nat?rlich nicht schafft!
    $_POST is ein array mit den variabeln die das script ?ber post empfangen hat. also die felder eines formulars z.b.

    if (isset($_POST["pfad"])) {
    mysql_connect("host","user","pwd");
    mysql_select_db("database");

    $dh = opendir($_POST["pfad"]);
    while ($file = readfile($dh)) {
    echo "$file";
    if (is_file($file)) { // alternativ: $file != "." && $file != ".."
    echo " - is file";
    mysql_query("INSERT INTO bilder SET pfad='".$_POST["pfad"]."/$file'");
    echo " - mysql_error: ".mysql_error();
    }
    echo "<br>\n";
    }
    closedir($dh);
    }
    else{
    ?>
    <form action="<?=$_SERVER["PHP_SELF"]?>" method="post">
    <input name="pfad">
    <input type="submit" value="Ok">
    <?php
    }
  14. Autor dieses Themas

    shakal

    Kostenloser Webspace von shakal

    shakal hat kostenlosen Webspace.

    k, kann man ja net wissen, dass ich das mit nem formular machen soll.... h?ttest mir sgen k?nnen :angel:

    nun ja.... fehler: Warning: opendir(): URL file-access is disabled in the server configuration in /home/webpages/lima-city/shakal/html/insertpics.php on line 12

    Warning: opendir(http://shakal.xardas.lima-city.de/bowling/thumbs/): failed to open dir: no suitable wrapper could be found in /home/webpages/lima-city/shakal/html/insertpics.php on line 12

    daraus schlie?e ich, das geht net auf dem server, oder?
  15. k***o

    doch du darfst nur keine url angeben sondern musst einen relativen pfad angeben.

    wenn das script jetzt auf www.bsp.de/script.php liegt und du die bilder aus dem ordner www.bsp.de/bilder auflisten willst musst du einfach nur "bilder" eingeben
  16. Autor dieses Themas

    shakal

    Kostenloser Webspace von shakal

    shakal hat kostenlosen Webspace.

    hatte ich auch ausprobiert, kam n anderer fehler:
    Warning: readfile(): Unable to access Resource id #3 in /home/webpages/lima-city/shakal/html/insertpics.php on line 13

    Warning: readfile(Resource id #3): failed to open stream: No such file or directory in /home/webpages/lima-city/shakal/html/insertpics.php on line 13
  17. k***o

    ups! du musst das readfile gegen ein readdir austauschen ;) mein fehler ;)

    if (isset($_POST["pfad"])) {
    mysql_connect("host","user","pwd");
    mysql_select_db("database");

    $dh = opendir($_POST["pfad"]);
    while ($file = readdir($dh)) {
    echo "$file";
    if (is_file($_POST["pfad"]."/$file")) { // alternativ: $file != "." && $file != ".."
    echo " - is file";
    mysql_query("INSERT INTO bilder SET pfad='".$_POST["pfad"]."/$file'");
    echo " - mysql_error: ".mysql_error();
    }
    echo "<br>\n";
    }
    closedir($dh);
    }
    else{
    ?>
    <form action="<?=$_SERVER["PHP_SELF"]?>" method="post">
    <input name="pfad">
    <input type="submit" value="Ok">
    <?php
    }

    Beitrag ge?ndert am 13.12 18:00 von kroko
  18. Autor dieses Themas

    shakal

    Kostenloser Webspace von shakal

    shakal hat kostenlosen Webspace.

    jetzt hats geklappt :biggrin::biggrin: bin ich sehr gl?cklich dr?ber. erleichtert meine arbeit doch enorm. vielen dank :D
  19. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!