@php_raper

Не работает return в конструкции if?

Пример кода (кусок функции)

public function moveFile($file, $path)
    {
        if (move_uploaded_file( $file, $path))
        {
            //$path = "https://" . $_SERVER["SERVER_NAME"] . $path;
            return 1; //return $path
        }
 
    }


Возвращает NULL, хотя файл успешно загружается.

move_uploaded_file( $file, $path) - возвращает TRUE


то есть конструкция выполняется в ветку IF заходим.

Если написать
public function moveFile($file, $path)
    {
        if (move_uploaded_file( $file, $path))
        {
            //$path = "https://" . $_SERVER["SERVER_NAME"] . $path;
           echo 1;//echo $path
        }
 
    }


На экран выведет
1

соответственно если заменить 1 на $path изменений нет, нужно получить $path

public function moveFile($file, $path)
    {

        return (move_uploaded_file( $file, $path)) ? "https://" . $_SERVER["SERVER_NAME"] . $path : 'Ошибка загрузки';
 
    }


так ТОЖЕ возвращает NULL

и через IF / ELSE тоже NULL

ИТОГО что имеем:

return возращает всегда NULL,

if (move_uploaded_file( $file, $path))
        {
            //$path = "https://" . $_SERVER["SERVER_NAME"] . $path;
           echo <b>ЛЮБОЕ ВЫРАЖЕНИЕ</b>;
        }

работает нормально
  • Вопрос задан
  • 158 просмотров
Решения вопроса 2
usdglander
@usdglander Куратор тега PHP
Yippee ki-yay
Если всё действительно так как вы говорите, то есть мнение что move_uploaded_file не всегда возвращает true. Просто вы смотрите в разные моменты.
Ответ написан
@FanatPHP
Идеальный пример реализации анекдота у таракана уши в ногах в реальной жизни.

Автор уже сам понял, что, разумеется, дело не в условном операторе (и не может быть). Но все равно упорно стучит по столу, и проверяет что угодно, но не возврат конкретной функции
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
от 55 000 до 80 000 руб.
WACDAQ Москва
от 120 000 руб.
от 90 000 до 200 000 руб.
22 авг. 2019, в 07:30
10000 руб./за проект
22 авг. 2019, в 02:23
60000 руб./за проект
22 авг. 2019, в 02:15
5000 руб./за проект