@T_verdisla_V
Начинающий

Почему не работает redirect?

Здравствуйте. У меня с формы action="/admin/upload/" отправляет в adminController uploadAction, там выполняется следующий код
function uploadAction(){
    $maxSize = 2 * 1024 * 1024;
    
    $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 ("Ошибка загрузки файла");
    }
}

Сам код обсуждать не нужно, не в этом проблема. Так вот при загрузке изображения она редиректит меня на главную страницу, а в адресной строке пишет следующее
myshop.local/admin/upload/(/admin/products/)

сама функция редиректа выглядит так
function redirect($url)
{
    if(!$url) {
        $url = '/';
    }
    header("Location: ($url)");
    exit;
}

Да кстате она должна оставлять меня на этой же странице т.е. myshop.local/admin/products
  • Вопрос задан
  • 126 просмотров
Решения вопроса 1
DevMan
@DevMan
кагбе логично: какой адрес скормили, на такой и редиректит.
1. зачем скобки в хедере?
2. что мешает использовать абсолютный адрес?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы