I am trying to rename uploaded files from an array.
Each element (2 total in this case) contains the filepath/name. (filename_a and filename_b)
When I run the script, and echo the results, I get the following:
filename: filename_a
basename: filename_a.jpg
extension: jpg
newfilename: 17_0.jpg
filename: filename_a
basename: filename_a.jpg
extension: jpg
newfilename: 17_1.jpg
filename: filename_a
basename: filename_a.jpg
extension: jpg
newfilename: 17_2.jpg
filename: filename_a
basename: filename_a.jpg
extension: jpg
newfilename: 17_3.jpg
While I expect:
filename: filename_a
basename: filename_a.jpg
extension: jpg
newfilename: 17_0.jpg
filename: **filename_b**
basename: **filename_b.jpg**
extension: jpg
newfilename: 17_1.jpg
The second element (filename) is not changed. Still shows the first filename and echos 4 instead of the two elements in the array. Does not iterate through the array.
The code:
foreach( $_POST['ax-uploaded-files'] as $filepath)
{
$path_parts = pathinfo($filepath);
}
for ($i = 0; $i < count($path_parts); ++$i) {
$basename = $path_parts['basename'];
$filename = $path_parts['filename'];
$extension = $path_parts['extension'];
$newfilename = $submission_id . '_' . $i . '.' . $extension;
echo '<br>filename: ' . $filename;
echo '<br>basename: ' . $basename;
echo '<br>extension: ' . $extension;
echo '<br>newfilename: ' . $newfilename . '<br>';
rename("photos/".$submission_id."/primary/".$filename.".".$extension, "photos/".$submission_id."/primary/" .$newfilename);
}
I did not include the rename code as it works by itself. Any suggestions?