Skip to content

Instantly share code, notes, and snippets.

@zoispag
Last active March 11, 2020 19:36
Show Gist options
  • Save zoispag/a53bb8720617e06c7cb1d072837a6267 to your computer and use it in GitHub Desktop.
Save zoispag/a53bb8720617e06c7cb1d072837a6267 to your computer and use it in GitHub Desktop.
Batch image rename (.jpg) with PHP
#!/usr/bin/env php
<?php
/**
* Finds and renames .jpg files in current directory with unique filenames (uuid)
* Usage: ./bim
*/
foreach (glob('*.jpg') as $file) {
$uuid = guidv4(random_bytes(16));
rename($file, "{$uuid}.jpg");
}
function guidv4($data)
{
assert(strlen($data) == 16);
$data[6] = chr(ord($data[6]) & 0x0f | 0x40); // set version to 0100
$data[8] = chr(ord($data[8]) & 0x3f | 0x80); // set bits 6-7 to 10
return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($data), 4));
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment