[Code impur] - rename et nettoyage...
Posté : 05 févr. 2009, 02:15
Salutations,
Soit le code suivant :
En quoi (et comment/ou) ce code peut il encore être allégé ? (Je bosse dessus depuis 3 jours !!!)
La fonction "rename" utilisé dans cette partie du code (et qui est un peu le centre d'interet de cette page) ne semble plus correctement fonctionner (il supprime mais ne déplace plus) :

A vous lire,
Soit le code suivant :
<?
$rep = '../pict/photos/';
$backuprep = '../admin/move/photos/';
//$rep1 = substr_replace($rep, 0, -1);
$vig = '../pict/photos/thumbs/';
$backupvig = '../admin/move/thumbs/';
//$vig1 = substr_replace($vig, 0, -1);
$ext = 'jpg';
$ipl = '4';
$wid = '120';
$widtab = '96%';
$bor = '0';
$cpd = '0';
// $xplodevig = explode('.',$lstvig2);
$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 '<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);
$rest = substr($entree, 0, -8);
// Definition de la version haute def. de l'image
$entree1 = substr_replace($entree, '', 0, 4);
// Debug
// echo $rep.$entree1.'<br />';
// echo $backuprep.$entree1.'<br />';
// echo $vig.$entree.'<br />';
// echo $backupvig.$entree.'<br />';
// 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 /><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 /><br /><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 />';
} // 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="send" 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
}
}
echo '</tr></table>';
echo '</div>';
?>
J'aurais 2 questions :(...)
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="send" 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);
}
}
}
(...)
Pouvez-vous donc me sauver ? A vous lire,