Autor Zpráva
Duchaplny
Profil
Zdravím,

je možné prebehnúť zložku s fotkami a uložiť ich názvy do DB ?

resp. mám zložku, kde je cca 1000 fotiek s menom a priezviskom osoby.. uložené sú ako "meno_priezvisko.jpg", prípadne len "priezvisko.jpg".. v db to musí byť zapísané v podobe "Meno Priezvisko", prípadne len "Priezvisko".. zapisovať ich ručne, po jednom, by bolo veľmi zdĺhavé, preto by som to rád spravil nejakým iným spôsobom.. napadá vás niečo ?!

DB je MySQL, a obrázky sa neuploadujú, k nim sa len vytvorí cesta..
Tino
Profil *
Skus toto
<?php

include('mysql.php');

if ($handle = opendir('images')) {

    while (false !== ($file = readdir($handle))) {
        if($file!='.' && $file!='..') {
            $images[] = "('".$file."')";
        }
    }

    closedir($handle);
}

$query = "INSERT INTO priezvisko (filename) VALUES ".implode(',', $images)." ";
if (!mysql_query($query)) {
    print mysql_error();
}
else {
    print "fotky boli nahrané!";
}


?>


a v DB niečo takéto

CREATE TABLE IF NOT EXISTS `priezvisko` (
            `image_id` bigint(20) unsigned NOT NULL auto_increment,
            PRIMARY KEY  (`image_id`)
        ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Duchaplny
Profil
Vďaka, mierne som si to upravil..

<?php

include "mysql.php";
 
if ($handle = opendir('images')) {
 
    while (false !== ($file = readdir($handle))) {
            if ($file!='.' && $file!='..') {
                $file = preg_replace('/_/',' ',$file);
                $file = strstr($file, '.', true);
                $file = ucwords($file);

                $stmt = $db->prepare("INSERT INTO test (priezvisko) VALUES (:priezvisko)");
                $stmt->execute(array(':priezvisko' => $file));
            }
    }
        closedir($handle);
}

?>

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: