Created
October 11, 2013 18:01
-
-
Save branquito/6939293 to your computer and use it in GitHub Desktop.
renamer-for-eglo
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- QUERY for deleting leftover copies of images on server. --> | |
<!-- --> | |
<!-- mysql> select o.id_product, o.id_image from ps_image_old as o left join ps_image_processed as p --> | |
<!-- -> on o.id_product = p.id_product --> | |
<!-- -> where o.id_image <> p.id_image; --> | |
<?php | |
// set params here | |
$username = "user"; | |
$password = "pass"; | |
$hostname = "hostname"; | |
$db_name = "database_name"; | |
$proc_folder = "proc"; | |
// connect to DB | |
$dbhandle = mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL"); | |
$selected = mysql_select_db($db_name ,$dbhandle) or die("Could not select eglo_small"); | |
/** | |
* Script to bulk rename bunch of photos for EGLO site. | |
* branchito de munze | |
*/ | |
if ($handle = opendir($proc_folder)) { | |
while (false !== ($filename = readdir($handle))) { | |
if ($filename != "." && $filename != "..") { | |
$m = is_match($filename); | |
if ($m) { | |
echo "<hr />"; | |
// now we have $m['refnum'] and $m['remain'] | |
// refnum is reference number of img file, remain is what is left without extension | |
echo '<pre>'; echo "REFNUM: "; print_r($m['refnum']); echo '</pre>'; | |
echo '<pre>'; echo "REMAIN: "; print_r($m['remain']); echo '</pre>'; | |
$pid = queryDb($m['refnum']); | |
if($pid){ | |
echo '<pre>'; echo "PID: ".$pid; echo '</pre>'; | |
// Build filename like $pid-$m['refnum']$m['remain'].jpg | |
// echo '<pre>'; echo $pid."-".$m['refnum'].$m['remain'].".jpg"; echo '</pre>'; | |
$new_filename = $pid."-".$m['refnum'].$m['remain'].".jpg"; | |
// update ps_image table to reflect file rename change | |
$up_query = "UPDATE ps_image SET id_image=".$m['refnum']." WHERE id_product=".$pid; | |
$r = mysql_query($up_query); | |
if(!$r){ | |
die('Invalid Query: '.mysql_error()); | |
} | |
echo '<pre>'; var_dump($filename); echo '</pre>'; | |
echo '<pre>'; var_dump($new_filename); echo '</pre>'; | |
rename($proc_folder.'/'.$filename, $proc_folder.'/'.$new_filename); | |
} | |
} | |
} | |
$m = null; | |
} | |
closedir($handle); | |
mysql_close($dbhandle); | |
} | |
function is_match($fn) | |
{ | |
// 23691-thickbox.jpg | |
if (preg_match("/^(?P<refnum>\d{1,5})(?P<remain>-?\w*)\.jpg$/", $fn, $matches)) { | |
return $matches; | |
} else { | |
return false; | |
} | |
} | |
function queryDb($refnum) | |
{ | |
# code... | |
$query = mysql_query("SELECT id_product, reference FROM ps_product WHERE reference=$refnum"); | |
$row = mysql_fetch_array($query); | |
if(!$row){ | |
return false; | |
} else { | |
$pid = $row['id_product']; | |
return $pid; | |
} | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment