Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Проверка на существование сразу двух папок/файлов (https://javascript.ru/forum/server/71195-proverka-na-sushhestvovanie-srazu-dvukh-papok-fajjlov.html)

Sonya 01.11.2017 13:00

Проверка на существование сразу двух папок/файлов
 
Здравствуйте! Помогите, пожалуйста. Нужна проверка сразу двух файлов (директории) на наличие хотя бы одного, и, соответственно действие, если условие верное или не верное. Пробовала так, но не получается:
$a = путь1;
$a = путь2;
if(file_exists($a || $b)){
echo "Есть";
}else{
echo "Нет";
}

Rasy 01.11.2017 13:05

if(file_exists($a) || file_exists($b))

Sonya 01.11.2017 13:06

Спасибо!

Rasy 01.11.2017 13:06

Функция принимает строку, а не выражение.

Sonya 01.11.2017 14:17

Да, именно то, что нужно.

Nexus 01.11.2017 14:30

Я всегда проверяю является ли сущность существующая по переданному адресу каталогом/файлом.

laimas 01.11.2017 17:35

Цитата:

Сообщение от Rasy
Функция принимает строку, а не выражение.

Она может принимать результат выражения, если это путь.

Rasy 01.11.2017 20:27

Цитата:

Сообщение от laimas
Она может принимать результат выражения

Результат выражения и выражение это не одно и тоже.
Цитата:

Сообщение от laimas
если это путь

да ну)

laimas 01.11.2017 20:45

Цитата:

Сообщение от Rasy
Результат выражения и выражение это не одно и тоже.

А что есть выражение? У нее не работает только потому, что выражение ее возвращает булево значение, а не строковое, и это не есть путь.

А где прописано это выражение, на месте аргументов функции или вне, это не важно.

Rasy 01.11.2017 20:56

Цитата:

Сообщение от laimas
У нее не работает только потому, что выражение ее возвращает булево значение, а не строковое, и это не есть путь.

Ух ты! Спасибо большое за объяснение.:)

А что такое булево значение, аргумент и функция? Я пока новенький в Java, не судите строга...

laimas 01.11.2017 21:10

Rasy,
дурку зачем включать? Ваш комментарий к функции Sonya означает в буквальном смысле, что так делать нельзя. В ее же коде нет синтаксической ошибки, страдает только логика представления.

$a = null;
$b = 'path/file.ext';

echo file_exists($a ?: $b) ? 1 : 0;


Ни кто и нигде не запрещает в качестве аргументов передавать выражения, результаты запросов функций и т.д.

Rasy 01.11.2017 21:30

Цитата:

Сообщение от laimas
дурку зачем включать?

Я Вас не оскорблял. Зачем Вы других судите по себе? Вы объясните что такое булево? Или будете так дальше наезжать на новичка?

laimas 01.11.2017 21:40

Цитата:

Сообщение от Rasy
Я Вас не оскорблял.

Я тоже не оскорбляю, но дурку вы включили и это точно, назвать вас "начинающим и не понимающим" как вы пишите, ну это можно с натяжкой сделать. Вряд ли вы не понимаете того, что функция вообще не знает что "ей" прописали, она никогда не получит выражения, она получит результат этого выражения, и в приведенном коде это будет true. Ежику понятно, что уже получив true, она просто вернет false.

echo file_exists(true) ? 1 : 0;


Цитата:

Сообщение от Rasy
Вы объясните что такое булево?

https://ru.wikipedia.org/wiki/Логический_тип.

Rasy 01.11.2017 21:55

laimas,
Объясните пожалуйста что такое булево, я прочитал и ничего не понял. Давайте без ссылок - это и ежик может.

laimas 01.11.2017 22:08

И что не понятного в том, что true (1), false (0), это булев тип? Тип string, integer, float, это понятно? Ну а если бы integer назвали "ботинок", но это так и были бы числа, это что-то бы изменило?

Я не понимаю чего не понятного в этом, или именно "булево" режет слух? Ну тут уже спеца языковеда нужно спрашивать: тип - булев, значение - булев или булево? :)

Rasy 01.11.2017 22:19

laimas,
Спасибо большое! Всегда приятно читать объяснения от гения. Теперь, что такое функция?

laimas 01.11.2017 22:27

Цитата:

Сообщение от Rasy
приятно читать объяснения от гения

Я не гений.

Цитата:

Сообщение от Rasy
Теперь, что такое функция?

Ищем, читаем, не думаю, что эта терминология нечто затруднительное.

Rasy 01.11.2017 22:33

Цитата:

Сообщение от laimas
Я не гений.

Ну если Вы не можете объяснить что такое функция, то да. Согласен.

laimas 01.11.2017 22:49

Цитата:

Сообщение от Rasy
Ну если Вы не можете объяснить что такое функция

То есть и этого напрочь не знаем? Судя по постам в это верится с трудом. Функция, это такой же код как и иной любой, с разницей только в том, что к этому коду можно обращаться из любого другого места программы. Это так сложно, что требует пояснения?

Собственно ваш "затык" в комментарии к коду автора не в не знании булевых типов или определения термина функция, а в том, что парсер будет исполнять код начиная с самого глубокого вложения:

выражение 1( выражение 2( выражение 3( выражение 4 ) ) )

начиная с выражения 4 и заканчивая выражением 1, именно поэтому непосредственно выражение определенное в параметрах file_exists() в функцию никак не попадет.

Rasy 01.11.2017 23:12

Цитата:

Сообщение от laimas
То есть и этого напрочь не знаем?

Я ничего не знаю. Только родился. Познаю мир.:)
А что такое программирование? Поясните, пожалуйста, о, Линус.

laimas 01.11.2017 23:20

Цитата:

Сообщение от Rasy
А что такое программирование?

Это вязание на спицах, успокаивает, когда у человека дурку тараканы в голове включают.

Rasy 01.11.2017 23:40

Цитата:

Сообщение от laimas
Это вязание на спицах, успокаивает, когда у человека дурку тараканы в голове включают.

Это похвально, похвально, когда есть хобби! Вы главное аккуратно, не пораньтесь.
Но Вы не уклоняйтесь от темы.

laimas 01.11.2017 23:46

Rasy,
дите ты неразумное, бабушку свою тролить будешь.

Rasy 01.11.2017 23:57

Цитата:

Сообщение от laimas
дите ты неразумное, бабушку свою тролить будешь.

Опять оскорбления. Я мыслю другими категориями. Ваши же понятия выходят уже за рамки дозволенного.
Увы, так диалог вести уже нельзя.


Часовой пояс GMT +3, время: 02:43.