Existuje renamer podle EXIF info ???
Mam na disku hromadu olympusich fotek pojmenovanych Pxxxxxx (nejaky hnusny cislo).
Marne hledam nejaky jednorazovy SW ktery dokaze nejakym zpusobem (prejmenovat/nastavit cas souboru) na hodnotu z EXIFu ktera odpovida datu/casu porizeni fotky (tj. ne editace!).
Nerikejte mi, ze nic takovyho neexistuje :eek:
PS: Programovat se mi to teda nechce a prejmenovavat ve Photoshopu uz vubec ne :arrow: :evil:
Re: Existuje renamer podle EXIF info ???
Omlouvam se, ze vytahuju tohle tema, ale neobjevil se za ty 2 roky nejakej programek? Taky by se mi hodil
Re: Existuje renamer podle EXIF info ???
pohledej veci od pana herouta (onen co pise ucebnice javy) na prednasce s nam chlubil s nejakym jeho vlastnorucnim c++ programkem kterej delal prave tohle
Re: Existuje renamer podle EXIF info ???
Alebo Linux. Napisat skript je IMHO otazka par minut (s pouzitim ImageMagick).
Re: Existuje renamer podle EXIF info ???
Ja to tehdy vyresil napsanim PHP modulu do sveho projektu. Trochu kostrbate, ale na napsani nejjednodussi. Samozrejme ale musis mit k disposici webserver.
Re: Existuje renamer podle EXIF info ???
Citace:
Původně odeslal Aigor
Ja to tehdy vyresil napsanim PHP modulu do sveho projektu. Trochu kostrbate, ale na napsani nejjednodussi. Samozrejme ale musis mit k disposici webserver.
Proc webserver? Skripty prece muze spoustet i bez webserveru :)
Re: Existuje renamer podle EXIF info ???
To Strby: S panem Heroutem alias HERO jsem taky mel tu cest ;)
To Aigor: Byl bys ochoten poskytnout mi ten script? Nepotrebuju celej projekt :)
To All: Nevite o nejakym schopnym clanku o ulozeni exif v souboru?
Re: Existuje renamer podle EXIF info ???
PHP kód:
$handle = opendir($base_adr);
while (false!==($file = readdir($handle)))
{
$exif_created = "NULL"; // default hodnota je NULL
$exif_model = "NULL"; // default hodnota je NULL
echo $file;
if (is_file($base_adr.$file))
{
// do databáze nutno uložit VŠECHNY soubory, jinak bych nemohl ošetřit konflikt jmen !
// - teoreticky ještě může nastat, pokud stejnojmenný adresář, ale to zanedbávám
if (strtoupper(substr($file,-4)) == ".JPG")
{
// pokud se jedná o JPG, načti další parametry
$is_jpg = 'Y';
echo $spc."JPG";
$tmp = @exif_read_data($base_adr.$file,'EXIF');
if ($tmp && $tmp["DateTimeOriginal"])
{
$exif_created = "'".$tmp["DateTimeOriginal"]."'";
echo $spc.$tmp["DateTimeOriginal"];
// U souborů, kde nalezeno original datum, ještě načti model foťáku
// - nepovinné, dopsáno jen pro lepší rozlišení mých fotek
$tmp = @exif_read_data($base_adr.$file,'IFD0');
if ($tmp && $tmp["Model"])
{
$exif_model = "'".$tmp["Model"]."'";
echo $spc.$tmp["Model"];
}
}
}
else
{
$is_jpg = 'N';
echo $spc."---";
}
$result = @MySQL_Query("INSERT soubory (cesta,soubor,is_jpg,exif_created,model) VALUES ('".addslashes($base_adr)."','".$file."','".$is_jpg."',".$exif_created.",".$exif_model.")");
if (MySQL_Error()) sql_error(MySQL_Error(),__FILE__,__LINE__);
}
echo "<br>";
}
closedir($handle);
Vyzobl jsem jenom to hlavní jádro, jde to i bez DB. Setřídiš, ošetříš duplicitu, a přejmenuješ.
PS: Pochopitelně musíš soubory nahrávat do adresáře, kam má PHP přístup a dělat vše na jednom stroji. Z mnoha důvodů je to zvěrstvo, ale svůj účel plní ;D