$a=5;
echo "hallo $a";
php -dvld.active=1 -dvld.execute=0 1.txt
Finding entry points
Branch analysis from position: 0
Return found
filename: /home/wmix/1.txt
function name: (null)
number of ops: 3
compiled vars: none
line # * op fetch ext return operands
---------------------------------------------------------------------------------
4 0 > EXT_STMT
1 ECHO '%24a%3D5%3B%0Aecho+%22hallo+%24a%22%3B%0A%0A'
2 > RETURN 1
<?php
$a=5;
echo "hallo $a";
php -dvld.active=1 -dvld.execute=0 1.txt
Finding entry points
Branch analysis from position: 0
Return found
filename: /home/wmix/1.txt
function name: (null)
number of ops: 7
compiled vars: !0 = $a
line # * op fetch ext return operands
---------------------------------------------------------------------------------
2 0 > EXT_STMT
1 ASSIGN !0, 5
3 2 EXT_STMT
3 ADD_STRING ~1 'hallo+'
4 ADD_VAR ~1 ~1, !0
5 ECHO ~1
5 6 > RETURN 1
branch: # 0; line: 2- 5; sop: 0; eop: 6
path #1: 0,
PHP его выполнят как команду вывода. В этом особенность языка. Попробуйте умозрительно подставить на место PHP любой другой компилятор/интерпретатор.file 1.txt
Имеет. Две. ECHO и RETURN.текст "hello world" не имеет ни единой инструкции.
Если этот doc-файл успешно скомпилируется ассемблером, то это программа.то что в opcode встречается инструкция по обработке текста, не говорит ниочем. можно также представить набор инструкций на ассемблере для вывода .doc файла, не рассказывайте что .doc файл это ассемблер!
2 инструкции - уже скрипт.если стоит вопрос схавает ли пхп интерпретер "hello world" да схавает. вопрос скрипт ли это - нет это данные!
это не php а результат php-ретранслятора - другой язык называемый в народе opcode, содержащий действительно 2 инструкции. данные были считаны , чтоб их показать пришлось обернуть в новую обложку ECHO!Имеет. Две. ECHO и RETURN.
<?php while(true) { ?>foo<?php } ?>
<?php ?>foo<?php ?>
<?php
$a = 5;
include('inc.php');
echo $a;
<?php $a++;
$a++;
те. как есть так и передаются!Замечание: В отличие от синтаксиса двойных кавычек и heredoc, переменные и управляющие последовательности для специальных символов, заключенных в одинарные кавычки, не обрабатываются.
<?php
switch ($_SERVER['argv'][1]) {
case 1:
?>1<?php break;
case 2:
?>2<?php break;
default:
?>default<?php break;
}
echo $obj->b
echo file_get_contents('file')
крокодил больше длиный чем зеленый!
А что ты кричишь-то весь день? Наоборот? То есть по-твоему файл, содержащий синтаксические ошибки, и есть скрипт?Вурдалак
нет наоборот, скрипт может нагадить а данные нет!