So, say a directory has some image files named like this:
name-1.jpg name-3.jpg name-5.jpg
Can you create a simple script to rename any file above name-1.jpg in ascending order, so the result is:
name-1.jpg name-2.jpg name-3.jpg
Just looking for ideas, hoping someone has done this before. Thanks in advance for any info.
12:58 am on Aug 20, 2012 (gmt 0)
I haven't done it exactly like that but it's easy.
I would first rename the original files so they don't confuse the code to oldname*.jpg to avoid an infinite loop or something. Then write a simple loop that reads the directory, counts each file, and renames them or, instead of renaming them first, just load the list into an array.
Off the top of my head something like this would work, I didn't run it, didn't test it, just showing how it could be done.
If the files need to maintain the same order you would load them into an array first and sort it, then iterate the file names from the array instead of current(), which also avoids renaming them in advance as mentioned above.
Hope that gets you started!
1:33 pm on Aug 20, 2012 (gmt 0)
Thanks! I'll pursue that. I figured I had to create an array of file names and use rename() but wasn't exactly sure how.
8:13 pm on Aug 20, 2012 (gmt 0)
I came up with this, using foreach() and glob():
$prefix="name"; //will be script generated to ensure unique set names