The following function will rename all of the image files in a directory to be sequential. The parameters are the path of the directory that the files are in and the name of a function that will be used to sort the array of files through the PHP usort() function.
function sequentialImages($path, $sort=false) {
$i = 1;
$files = glob($path."/{*.gif,*.jpg,*.jpeg,*.png}",GLOB_BRACE|GLOB_NOSORT);
if ( $sort !== false ) {
usort($files, $sort);
}
$count = count($files);
foreach ( $files as $file ) {
$newname = str_pad($i, strlen($count)+1, '0', STR_PAD_LEFT);
$ext = substr(strrchr($file, '.'), 1);
$newname = $path.'/'.$newname.'.'.$ext;
if ( $file != $newname ) {
rename($file, $newname);
}
$i++;
}
}
The following function can be used in the second parameter to sort the files by their last modified time.
function sort_by_mtime($file1, $file2) {
$time1 = filemtime($file1);
$time2 = filemtime($file2);
if ( $time1 == $time2 ) {
return 0;
}
return ($time1 < $time2) ? 1 : -1;
}
Putting these two function together we can call the sequentialImages() function like this.
sequentialImages('files','sort_by_mtime');
This function takes the following set of images:
file1.gif
file2.gif
wibble.gif
wobble.gif
02.gif
And renames them to the following:
01.gif
02.gif
03.gif
04.gif
05.gif
Comments
";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Upload failed";
}
echo "";
echo '';
echo 'Here is some more debugging info:';
print_r($_FILES);
print "
";
?>
i need that all files uploaded are sequential such as 1,jpg 2,jpg 3,jpg ....