почему при переименовании файла добавляется слово "products"
PHP 8.0. при загрузке нового изображения в режиме администратора, файл должен переименовываться под id продукта, но добавляется слово "products", в переменную $item передается значение Id товара, в данном случае 16, по при переименовании файла, файл не добавляется в папку, а сохраняется рядом с ней и меняет название на products16.jpg, хотя должен менять на 16.jpg
AdminController.php
function uploadAction(){
$maxSize = 5 * 2048 * 2048;
$itemId = $_POST['itemId'];
//получаем расширение загружаемого файла
$ext = pathinfo($_FILES['filename']['name'], PATHINFO_EXTENSION);
//создаем имя файла
$newFileName = $itemId.'.'.$ext;
if($_FILES["filename"]["size"] > $maxSize){
echo ('Размер файла превышает пять мегабайт');
return;
}
//Загружен ли файл
if(is_uploaded_file($_FILES['filename']['tmp_name'])){
//если файл загружен то перемещаем его из временной директории в конечную
$res = move_uploaded_file($_FILES['filename']['tmp_name'], $_SERVER['DOCUMENT_ROOT'] . '/images/products' . $newFileName);
if($res){
$res = updateProductImage($itemId, $newFileName);
if($res){
redirect('/admin/products/');
}
}
} else{
echo ("Ошибка загрузки файла");
}
}
ProductsModel.php
function updateProduct($itemId, $itemName, $itemPrice,
$itemStatus, $itemDesc, $itemCat, $newFileName = null)
{
global $db;
$set = array();
if($itemName){
$set[] = "`name` = '{$itemName}'";
}
if($itemPrice > 0){
$set[] = "`price` = '{$itemPrice}'";
}
if($itemStatus !== null){
$set[] = "`status` = '{$itemStatus}'";
}
if($itemDesc){
$set[] = "`description` = '{$itemDesc}'";
}
if($itemCat){
$set[] = "`category_id` = '{$itemCat}'";
}
if($newFileName){
$set[] = "`image` = '{$newFileName}'";
}
$setStr = implode(", ", $set);
$sql = "UPDATE products
SET {$setStr}
WHERE id = '{$itemId}'";
$rs = mysqli_query($db, $sql);
d($itemId);
return $rs;
}
function updateProductImage($itemId, $newFileName)
{
$rs = updateProduct($itemId, null, null,
null, null, null, $newFileName);
return $rs;
}
adminProducts.tpl
<td>
{if $item['image']} {*выводит изображение*}
<img src='/images/products/{$item['image']}' width='100' />
{/if}
<form action='/admin/upload/' method='post' enctype='multipart/form-data'>
<input type="file" name="filename"><br>
<input type='hidden' name='itemId' value='{$item['id']}'>
<input type='submit' value='Загрузить'><br>
</form>
</td>
Источник: Stack Overflow на русском