Autor Zpráva
Hojte
Profil *
Potrebuji vytvorit script (nejlepe PHP), ktery projde slozky na disku a vybere z nich fotky. Potom je ulozi do databaze s nazvem slozky ve ktere fotka byla.

Nabidky s cenou posilejte prosim na hojte&seznam;cz

Omlouvam se za diakritiku. Pisu z mobilu a nemam tu ceskou klavesnici.
Ugo
Profil
dam inspiraci pro ostatni (je to funkcni kod bez nastaveneho pripojeni k db)


<?php
/*
prohledani slozky na soubory s priponou v $extensions - mozna lepe pouzit glob, tohle je jina upravena fce a s glob si moc nerozumim.
*/
set_time_limit(0);
class finder {
    /* povolene pripony */
    private $extensions=array('jpg','jpeg','png','bmp');
    private $images;
    private $db;
    function __construct() {
        /* pripojeni k db */
        /*
        $this->db=mysql_connect("host","user","pass");
        mysql_select_db("DB",$this->db);
        */
    }
    function findImages($folder,$subfolders=true,$return=false) {
        if(is_dir($folder)) {
            $scan=scandir($folder);
            foreach($scan as $f) {
                if($f!="." && $f!=".." && $f!="") {
                    if(is_dir($folder."/".$f)) {
                        /* rekurze */
                        if($subfolders===true) {
                            $this->findImages($folder."/".$f,$subfolders,$return);
                        }
                    }
                    else {
                        $koncovka=strtolower(substr($f,strrpos($f,'.')+1));
                        if(!in_array($koncovka,$this->extensions)) continue;
                        /* rozhodnuti zda zapsat do promenne, nebo ulozit */
                        if($return==false) {
                            $this->saveImage($folder,$f);
                        } else {
                            $this->images[$folder][]=$f;
                        }
                    }
                }
            }
            unset($f);
        } else {
            echo $folder." neni slozka";
            return false;
        }
        return $this->images;
    }
    /* funkce na ulozeni do db - pripojeni je v konstruktoru */
    function saveImage($file,$item) {
        $item=trim($item);
        mysql_query("INSERT INTO images('file','procedure') VALUES('".$file."','".$item."')",$this->db);
    }
    /* vrati pole bylo-li vyhledano s parametrem return=true */
    function getImages() {
        return $this->images;
    }
}

/* pouziti s return = true */
$finder=new Finder();
$finder->findImages("c:\\",true,true);
echo "<pre>";
print_r($finder->getImages());
echo "</pre>";
?>

Vaše odpověď

Mohlo by se hodit

Podělte se prosím o své zkušenosti s touto kategorií Věnujte pozornost pravidlům. Zejména:
• Máte-li zájem o tuto nabídku/poptávku, využijte uvedený kontakt, nepište do diskuse.
• Držte se tématu.
  • Nepoučujte.

Prosím používejte diakritiku a interpunkci.

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