1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| <?php
$rep = "galeries/";
$rep_dest = "galeries2/";
$entree = opendir($rep);
while (($file = readdir($entree)) !== false)
{
if (is_file($rep.$file) && $file !="." && $file !="..")
{
$img=$rep.$file;
if(in_array(strtolower(end(explode('.', $img))), array('jpg', 'jpeg', 'tif', 'tiff'))) // Si fichier Jpeg ou Tiff
{
if($exif = exif_read_data($img, 'EXIF' , true)) // Si le fichier $img contient des infos Exif
{
foreach ($exif as $key => $section) // On parcourt la première partie du tableau multidimensionnel
{
foreach ($section as $name => $value) // On parcourt la seconde partie
{
$exif_tab[$name] .= $value; // Récupération des valeurs dans le tableau $exif_tab
}
}
}
if($exif_tab['DateTimeOriginal'])
{
$date = $exif_tab['DateTimeOriginal']; // Date de la prise de vue (heure de l'appareil)
// La date est d'un format spécial, on va donc la rendre lisible
$date = substr_replace($date, '-',4,1);
$date = substr_replace($date, '-',7,1);
$tab_month = array(1=>"Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre");
$tab_day = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");
$tab_date = explode(' ', $date);
$date_hour = explode(':', $tab_date[1]);
$tab_dmy = explode('-', $tab_date[0]);
$day = date("w", mktime(0, 0, 0, $tab_dmy[1], $tab_dmy[2], $tab_dmy[0]));
settype($tab_dmy[1], integer);
$jour_nom=$tab_day[$day];
$jour_num=$tab_dmy[2];
$mois=$tab_month[$tab_dmy[1]];
$annee=$tab_dmy[0];
$date=$jour_nom.'_'.$jour_num.'_'.$mois.'_'.$annee.'_'.$date_hour[0].'h'.$date_hour[1];
echo $file.' '.$date.'<br />';
$dest=$rep_dest.$annee.'/'.$mois.'/'.$jour_num.'/';
if(!is_dir($rep_dest.$annee.'/'))
{
mkdir($rep_dest.$annee.'/', 0755);
}
if(!is_dir($rep_dest.$annee.'/'.$mois.'/'))
{
mkdir($rep_dest.$annee.'/'.$mois.'/', 0755);
}
if(!is_dir($rep_dest.$annee.'/'.$mois.'/'.$jour_num.'/'))
{
mkdir($rep_dest.$annee.'/'.$mois.'/'.$jour_num.'/', 0755);
}
copy($img,$dest.$file.'_'.$date.'.jpg');
unset($exif_tab);
}
}
}
}
?> |
Partager