renaming what is inside a list of folders using php -
in ftp have folder structure this:
mainfolder - subfolder1 - something_01.jpg - something02.jpg - subfolder2 - 23123.jpg - 12345.jpg , on..
i trying rename every file inside subfolder first arranging files alphabitically renaming 1.jpg, 2.jpg, 3.jpg , on. here code deletes inside subfolders files when run it! missing something?
$directory = 'mypath'; if ($handle = opendir('mypath')) { while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != "..") { $dirfiles = array(); if ($handles = opendir($directory.$entry.'/')) { while (false !== ($file = readdir($handles))) { if ($file != "." && $file != "..") { $dirfiles[] = $file; } } closedir($handles); } sort($dirfiles); $i = 1; foreach($dirfiles $file) { $fileparts = pathinfo($file); $fileext = $fileparts['extension']; $newname = $i . '.' . $fileext; rename($directory.$entry.'/'.$file, $directory.$entry.'/'.$newname); $i++; } unset($dirfiles); } } closedir($handle); }
here loop output if added "echo" before rename function
rename(path/.0001.'/'.00.jpg, path/.0001.'/'.1.jpg) rename(path/.0001.'/'.01.jpg, path/.0001.'/'.2.jpg) rename(path/.0001.'/'.02.jpg, path/.0001.'/'.3.jpg) rename(path/.0001.'/'.03.jpg, path/.0001.'/'.4.jpg) rename(path/.0001.'/'.04.jpg, path/.0001.'/'.5.jpg) rename(path/.0001.'/'.05.jpg, path/.0001.'/'.6.jpg) rename(path/.0001.'/'.06.jpg, path/.0001.'/'.7.jpg) rename(path/.0001.'/'.07.jpg, path/.0001.'/'.8.jpg) rename(path/.0001.'/'.08.jpg, path/.0001.'/'.9.jpg) rename(path/.0001.'/'.09.jpg, path/.0001.'/'.10.jpg) rename(path/.0001.'/'.10.jpg, path/.0001.'/'.11.jpg) rename(path/.0001.'/'.11.jpg, path/.0001.'/'.12.jpg) rename(path/.0001.'/'.12.jpg, path/.0001.'/'.13.jpg) rename(path/.0001.'/'.13.jpg, path/.0001.'/'.14.jpg) rename(path/.0001.'/'.14.jpg, path/.0001.'/'.15.jpg) rename(path/.0001.'/'.15.jpg, path/.0001.'/'.16.jpg) rename(path/.0001.'/'.16.jpg, path/.0001.'/'.17.jpg) rename(path/.0001.'/'.17.jpg, path/.0001.'/'.18.jpg) rename(path/.0001.'/'.20.jpg, path/.0001.'/'.19.jpg) rename(path/.0001.'/'.21.jpg, path/.0001.'/'.20.jpg) rename(path/.0001.'/'.22.jpg, path/.0001.'/'.21.jpg) rename(path/.0001.'/'.23.jpg, path/.0001.'/'.22.jpg) rename(path/.0001.'/'.24.jpg, path/.0001.'/'.23.jpg) rename(path/.0001.'/'.25.jpg, path/.0001.'/'.24.jpg) rename(path/.0001.'/'.26.jpg, path/.0001.'/'.25.jpg) rename(path/.0001.'/'.27.jpg, path/.0001.'/'.26.jpg) rename(path/.0001.'/'.28.jpg, path/.0001.'/'.27.jpg) rename(path/.0001.'/'.29.jpg, path/.0001.'/'.28.jpg) rename(path/.0001.'/'.30.jpg, path/.0001.'/'.29.jpg) rename(path/.0001.'/'.31.jpg, path/.0001.'/'.30.jpg) rename(path/.0001.'/'.32.jpg, path/.0001.'/'.31.jpg) rename(path/.0001.'/'.33.jpg, path/.0001.'/'.32.jpg) rename(path/.0001.'/'.thumbs.db, path/.0001.'/'.33.db) rename(path/.0002.'/'.00.jpg, path/.0002.'/'.1.jpg) rename(path/.0002.'/'.01.jpg, path/.0002.'/'.2.jpg) rename(path/.0002.'/'.02.jpg, path/.0002.'/'.3.jpg) rename(path/.0002.'/'.03.jpg, path/.0002.'/'.4.jpg) rename(path/.0002.'/'.04.jpg, path/.0002.'/'.5.jpg) rename(path/.0002.'/'.05.jpg, path/.0002.'/'.6.jpg) rename(path/.0002.'/'.06.jpg, path/.0002.'/'.7.jpg) rename(path/.0002.'/'.07.jpg, path/.0002.'/'.8.jpg) rename(path/.0002.'/'.08.jpg, path/.0002.'/'.9.jpg) rename(path/.0002.'/'.09.jpg, path/.0002.'/'.10.jpg) rename(path/.0002.'/'.10.jpg, path/.0002.'/'.11.jpg) rename(path/.0002.'/'.11.jpg, path/.0002.'/'.12.jpg) rename(path/.0002.'/'.12.jpg, path/.0002.'/'.13.jpg) rename(path/.0002.'/'.13.jpg, path/.0002.'/'.14.jpg) rename(path/.0002.'/'.14.jpg, path/.0002.'/'.15.jpg) rename(path/.0002.'/'.15.jpg, path/.0002.'/'.16.jpg) rename(path/.0002.'/'.16.jpg, path/.0002.'/'.17.jpg) rename(path/.0002.'/'.17.jpg, path/.0002.'/'.18.jpg) rename(path/.0002.'/'.18.jpg, path/.0002.'/'.19.jpg) rename(path/.0002.'/'.19.jpg, path/.0002.'/'.20.jpg) rename(path/.0002.'/'.20.jpg, path/.0002.'/'.21.jpg) rename(path/.0002.'/'.21.jpg, path/.0002.'/'.22.jpg) rename(path/.0002.'/'.22.jpg, path/.0002.'/'.23.jpg) rename(path/.0002.'/'.23.jpg, path/.0002.'/'.24.jpg) rename(path/.0002.'/'.24.jpg, path/.0002.'/'.25.jpg) rename(path/.0002.'/'.25.jpg, path/.0002.'/'.26.jpg) rename(path/.0002.'/'.26.jpg, path/.0002.'/'.27.jpg) rename(path/.0002.'/'.27.jpg, path/.0002.'/'.28.jpg) rename(path/.0002.'/'.28.jpg, path/.0002.'/'.29.jpg) rename(path/.0002.'/'.29.jpg, path/.0002.'/'.30.jpg) rename(path/.0002.'/'.30.jpg, path/.0002.'/'.31.jpg) rename(path/.0002.'/'.31.jpg, path/.0002.'/'.32.jpg) rename(path/.0002.'/'.32.jpg, path/.0002.'/'.33.jpg) rename(path/.0002.'/'.thumbs.db, path/.0002.'/'.34.db)
the reason why things gets deleted because original file names have similar naming system new naming system. example :
rename(path/.0001.'/'.09.jpg, path/.0001.'/'.10.jpg)
will rename 09.jpg 10.jpg.. if 10.jpg exist.. deleted , replaced 09.jpg file name 10.jpg. solve problem.. had copy files directory, faster, , safer.
Comments
Post a Comment