2016-10-22 2 views
-1

мне нужно отправить запрос POST на другой файл под названием global.php, для этого я попробовать этот код ниже:Получить PHP код запроса POST

$url = 'global.php'; 
$data = array('stack' => 'overflow'); 

$options = array(
    'http' => array(
     'header' => "Content-type: application/x-www-form-urlencoded\r\n", 
     'method' => 'POST', 
     'content' => http_build_query($data) 
    ) 
); 

$context = stream_context_create($options); 
$result = file_get_contents($url, false, $context); 

var_dump($result); 

Это global.php файл, который должен обработать запрос:

if(isset($_POST['stack'])){ 
echo 'exists'; 
}else{ 
echo 'error'; 
} 

проблема заключается в том, что вместо команды var_dump ($ result); показать существует, он показывает PHP-код? Как я могу решить эту проблему?

И почему, когда я пытаюсь сделать то же самое, используя ajax, он возвращает мне текст существует, а не код PHP?

ответ

2

Вы должны использовать полный URL-адрес для обработки файла php через сервер.

$url = 'http://YOURURL.com/global.php'; 

AJAX звонок выполнен из браузера, до абсолютного URL-адреса, поэтому вы получаете желаемый ответ.

+0

В моем случае я использую localhost ... И оба файла: index.php (с кодом POST) и global.php (с текстом) находятся в одной папке ... В конце концов, оба из них пойдет на мой сервер онлайн ... В этом случае я получу код PHP или результат? – Lacrifilm

+1

, если вы указали полный URL-адрес file_get_content, тогда вы получите результат. Если вы укажете только имя файла, вы получите PHP-код. –

Смежные вопросы