Code impur...
Posté : 19 mai 2009, 12:19
Salutations,
Etant photographe, Je planche sur une interface de gestion en PHP des galeries photos de mon book.
En plusieurs temps, pour l'instant je me concentre sur une page de backup/suppression des photos.
La commande "rename" ne semble pas fonctionner correctement, alors j'ai décidé de mettre "unlink". Par contre, "copy" fonctionne nickel.
Etant photographe, Je planche sur une interface de gestion en PHP des galeries photos de mon book.
En plusieurs temps, pour l'instant je me concentre sur une page de backup/suppression des photos.
La commande "rename" ne semble pas fonctionner correctement, alors j'ai décidé de mettre "unlink". Par contre, "copy" fonctionne nickel.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Administration PhotoMat - Liste des vignettes</title>
</head>
<body>
<table width="660" border="0" cellspacing="0" cellpadding="0">
<tr>
<th>
<?php
$rep = '../pict/photos/'; // Dossier des photos
$backuprep = '../admin/move/photos/'; // Dossier de destination des photos sauvegardées
//$rep1 = substr_replace($rep, 0, -1);
$vig = '../pict/photos/thumbs/'; // Dossier des vignettes
$backupvig = '../admin/move/thumbs/'; // Dossier de destination des vignettes sauvegardées
//$vig1 = substr_replace($vig, 0, -1);
$ext = 'jpg'; // Extension recherchée
$ipl = '8'; // Image Par Ligne(s)
$wid = '120'; // Largeur de la vignette
$widtab = '96%'; // Largeur du tableau
$bor = '0'; // Bordure du tableau
$cpd = '2'; // Bordures des cellules du tableau
$csc = '0'; // Esapcement des cellules du tableau
// $xplodevig = explode('.',$lstvig2);
// echo $backupvig;
// echo $backuprep;
$listerep = scanDir($rep);
$extensionrep = 0;
foreach ($listerep as &$fichrep) {
/* On ne retient que les fichiers && ceux dont l'extention est jpg ou JPG */
if (is_file($rep . $fichrep) && preg_match('#[^·]\.jpg$#i', $fichrep)) {
$extensionrep++;
}
}
$listevig = scanDir($vig);
$extensionvig = 0;
foreach ($listevig as &$fichvig) {
/* On ne retient que les fichiers && ceux dont l'extention est jpg ou JPG */
if (is_file($vig . $fichvig) && preg_match('#[^·]\.jpg$#i', $fichvig)) {
$extensionvig++;
}
}
$listerepbck = scanDir($backuprep);
$extensionrepbck = 0;
foreach ($listerepbck as &$fichrepbck) {
/* On ne retient que les fichiers && ceux dont l'extention est jpg ou JPG */
if (is_file($backuprep . $fichrepbck) && preg_match('#[^·]\.jpg$#i', $fichrepbck)) {
$extensionrepbck++;
}
}
$listevigbck = scanDir($backupvig);
$extensionvigbck = 0;
foreach ($listevigbck as &$fichvigbck) {
/* On ne retient que les fichiers && ceux dont l'extention est jpg ou JPG */
if (is_file($backupvig . $fichvigbck) && preg_match('#[^·]\.jpg$#i', $fichvigbck)) {
$extensionvigbck++;
}
}
echo '<div align="center">';
echo 'Gestionnaire de contenu photo. v.0.3.<br />Mathieu CHARREYRE (c) 2009.<br /><br />';
echo '<a href="index.php" target ="_parent">Menu principal</a><br /><br /><br />';
echo '<table width="'.$widtab.'" border="'.$bor.'" cellpadding="'.$cpd.'" cellspacing="'.$csc.'"><tr>';
echo '<td align="center">Nombre de photos ".jpg" : '.$extensionrep.'</td>';
echo '<td align="center">Nombre de miniatures ".jpg" : '.$extensionvig.'</td>';
echo '</tr><tr>';
echo '<td align="center">Nombre de photos ".jpg" backupées : '.$extensionrepbck.'</td>';
echo '<td align="center">Nombre de miniatures ".jpg" backupées : '.$extensionvigbck.'</td>';
echo '</tr></table><br />';
echo '<table width="'.$widtab.'" border="1" cellpadding="'.$cpd.'" cellspacing="'.$csc.'"><tr valign="bottom">';
$compt=0;
$dp = opendir($vig);
while($entree = readdir($dp)){
if ($entree != "." && $entree != ".." && preg_match('#[^·]\.jpg$#i', $entree)) {
$class = substr($entree, -7, -4); // Definition de la categorie de l'image
$rest = substr($entree, 0, -8); // Selection du reste du nom du fichier
// Definition de la version haute def. de l'image
$entree1 = substr_replace($entree, '', 0, 4);
// EXIF
ini_set('exif.encode_unicode', 'UTF-8');
$exif = @exif_read_data($rep.$entree1, 0, true); // Lecture des metadonnées EXIF, avec non affichage des erreurs
$date0 = $exif['EXIF']['DateTimeOriginal'];
$date1 = substr($date0, 0, 10);
//$date2 = str_replace(":", "/", $date1);
$date2 = explode(":", $date1);
if(is_file($vig.$entree) && preg_match('#[^·]\.jpg$#i', $fichvig)){
if($compt%$ipl == 0){ echo '</tr><tr valign="bottom">'; }
echo '<td align="center">';
echo "<a href=# onClick=\"window.open('".$rep.$entree1."','_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=1, copyhistory=0, menuBar=0, width=800, height=600');return(false)\">";
echo '<img border=0 width='.$wid.' src="'.$vig.$entree.'"></a><br /><font size="1">';
if(!is_file($rep.$entree1) && !preg_match('#[^·]\.jpg$#i', $fichrep)){
echo '<font color="#990000"><br />La photo<br />'.$entree1.'<br />est introuvable...</font><br /><br />';
} // rep
else {
echo ' '.$exif['FILE']['FileName'].'<br />';
echo 'Catégorie : <font color="#009933">'.$class.'</font><br />';
echo '<br />';
// echo ' '.$exif['IFD0']['DateTime'].'<br />';
echo '- '.$date2[2].'/'.$date2[1].'/'.$date2[0].' -<br />';
// echo ''.$exif['EXIF']['DateTimeOriginal'].'<br />';
echo ''.$exif['IFD0']['Model'].'<br />';
echo 'Ouverture : '.$exif['COMPUTED']['ApertureFNumber'].'<br />';
echo 'Exposition : '.$exif['EXIF']['ExposureTime'].'<br />';
echo 'ISO : '.$exif['EXIF']['ISOSpeedRatings'].'<br />';
// echo ' '.$exif['EXIF']['Flash'].'<br />';
// echo ' '.$exif['COMPUTED']['Copyright.Photographer'].'<br />';
// echo ' '.$exif['COMPUTED']['Copyright.Editor'].'<br />';
// echo ' '.$exif['COMPUTED']['Copyright'].'<br />';
// echo ' '.$exif['IFD0']['Copyright'].'<br />';
echo '<br /><br />';
} // else rep
echo '<center><form name="form1" method="POST" action=""><input type="checkbox" name="photo" value="'.$rep.$entree1.'">Photo <input type="checkbox" name="thumb" value="'.$vig.$entree.'">Vign. <br /><input type="submit" name="copie" value="Copier"><input type="submit" name="suppr" value="Supprimer"></form></center>';
// if(isset($_POST['send'])){
// $post1 = (isset($_POST['photo'])) ? $_POST['photo']:null;
// $post2 = (isset($_POST['thumb'])) ? $_POST['thumb']:null;
// bouclons sur le tableau qui a été transmis et supprimons les valeurs sélectionnées
// if (!empty($post1)) {
// foreach($post1 as &$valeur1) {
// @rename($valeur1, $backuprep.$entree1);
// }
// }
// if (!empty($post2)) {
// foreach($post2 as &$valeur2) {
// @rename($valeur2, $backupvig.$entree);
// }
// }
// }
echo '</font></td>';
$compt++;
} // vig
else {
echo '<font color="#990000">Vign. '.$vig.$entree.' introuvable</font><br /><br />';
} // else vig
}
if(isset($_POST['copie'])){
// bouclons sur le tableau qui a été transmis et supprimons les valeurs sélectionnées
if (!empty($_POST['photo'])) {
$postophs = substr($_POST['photo'], 15, 16);
copy($_POST['photo'], $backuprep.$postophs); // Copie du dit fichier, avec non affichage des erreurs
}
if (!empty($_POST['thumb'])) {
$postvig = substr($_POST['thumb'], 22, 20);
copy($_POST['thumb'], $backupvig.$postvig); // Copie du dit fichier, avec non affichage des erreurs
}
echo "revenir à <a href='index.php' target ='_parent'>la page principale</a> ou sur <a href='listing.php5' target ='_parent'>la gestion des images en ligne</a> ?";
exit;
}
if(isset($_POST['suppr'])){
// bouclons sur le tableau qui a été transmis et supprimons les valeurs sélectionnées
if (!empty($_POST['photo'])) {
unlink($_POST['photo']); // Ceci supprimera le fichier
}
if (!empty($_POST['thumb'])) {
unlink($_POST['thumb']); // Ceci supprimera le fichier
}
echo "revenir à <a href='index.php' target ='_parent'>la page principale</a> ou sur <a href='listing.php5' target ='_parent'>la gestion des images en ligne</a> ?";
exit;
}
}
echo '</tr></table>';
echo '</div>';
?>
</th>
</tr>
</table>
</body>
</html>
Any idea ?