$a = "123";
$get = $_REQUEST['a'];
echo "test ".$get.".gif";
Почему вместо $get нельзя выполнить php код? Фильтров нет, но кавычки отображаются как текст. Если в $get задать - $a или ".$a.", то выведет так, как прописано. Хотя по идее, кавычки должны закрыть. Как закрыть кавычку от echo?
Почему я не могу сделать так:
echo "test var"; //.gif";
То есть, закрыть вывод echo и остальную часть строки закомментировать //
Команда echo не исполняет PHP код.
echo "test var"; //.gif"; выведет test var
echo "test var"; //.gif""; выведет test var
Все что после двойного слеша это комментарий а в данном случае коментарий есть но не имеет не одного символа тк интерпритатор дымает код закончился после ?>:
echo "test var"; //?> .gif" выведет test var .gif"
.gif" - это уже не PHP код
ЗАКРОЙТЕ КАВЫЧКУ ТАК:
echo "test var"; //" выведет test var
echo "test var"; #" выведет test var
echo "test var"; /*"*/ выведет test var
Я обычно конкатенирую (да и вообще привык php использовать одинарные кавычки)
echo 'test '.$get.'.gif';
С двойными это не обязательно:
echo "test $get.gif";
если понадобится можно явно указать границы переменной:
echo "test {$get}.gif";
или
echo "test ${get}.gif";
Продвижение своими сайтами как стратегия роста и независимости