Skip to content

Commit 9e4d86a

Browse files
authored
Bugfix methods that assume file extension
1 parent cc60dad commit 9e4d86a

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

system/Files/File.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,9 @@ public function getMimeType(): string
150150
*/
151151
public function getRandomName(): string
152152
{
153-
return time() . '_' . bin2hex(random_bytes(10)) . '.' . $this->getExtension();
153+
$extension = $this->getExtension();
154+
$extension = empty($extension) ? '' : '.' . $extension;
155+
return time() . '_' . bin2hex(random_bytes(10)) . $extension;
154156
}
155157

156158
//--------------------------------------------------------------------
@@ -203,6 +205,7 @@ public function getDestination(string $destination, string $delimiter = '_', int
203205
while (is_file($destination))
204206
{
205207
$info = pathinfo($destination);
208+
$extension = isset($info['extension']) ? '.' . $info['extension'] : '';
206209
if (strpos($info['filename'], $delimiter) !== false)
207210
{
208211
$parts = explode($delimiter, $info['filename']);
@@ -211,16 +214,16 @@ public function getDestination(string $destination, string $delimiter = '_', int
211214
$i = end($parts);
212215
array_pop($parts);
213216
array_push($parts, ++ $i);
214-
$destination = $info['dirname'] . '/' . implode($delimiter, $parts) . '.' . $info['extension'];
217+
$destination = $info['dirname'] . '/' . implode($delimiter, $parts) . $extension;
215218
}
216219
else
217220
{
218-
$destination = $info['dirname'] . '/' . $info['filename'] . $delimiter . ++ $i . '.' . $info['extension'];
221+
$destination = $info['dirname'] . '/' . $info['filename'] . $delimiter . ++ $i . $extension;
219222
}
220223
}
221224
else
222225
{
223-
$destination = $info['dirname'] . '/' . $info['filename'] . $delimiter . ++ $i . '.' . $info['extension'];
226+
$destination = $info['dirname'] . '/' . $info['filename'] . $delimiter . ++ $i . $extension;
224227
}
225228
}
226229
return $destination;

0 commit comments

Comments
 (0)