728x90
curl_exec 함수가 반환하는 값을 문자열로 받으려면 CURLOPT_RETURNTRANSFER 옵션을 설정해야 합니다. 이 옵션을 설정하지 않으면 curl_exec는 데이터를 직접 출력하고, 반환 값(boolean)은 true(1)또는 false(2)가 됩니다.
다음은 CURLOPT_RETURNTRANSFER 옵션을 설정하여 curl_exec 함수의 반환 값을 문자열로 받아서 index.html로 전달하는 방법입니다:
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://example.com');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // 응답을 문자열로 반환
$response = curl_exec($curl);
if ($response === false) {
echo 'cURL Error: ' . curl_error($curl);
} else {
echo 'Response: ' . $response;
}
curl_close($curl);
php 페이지에서 html페이지로 값을 전달하는 방법:
1. $SESSION['세션명'] = '값';
2. header('Location: ddd.html'.urldecode('값'));
3. form 태그 사용
1. $SESSION['세션명'] = '값';
session_start();
$response = curl_exec($curl);
$err = curl_error($curl);
if ($err) {
echo 'cURL Error #:' . $err;
} else {
// 데이터 저장
$_SESSION['response'] = $response;
header('Location: ./index.html');
}
curl_close($curl);
exit();
html에서 가져오는 방식 :
1. 스크립트 생성 방식
<?php
echo "<script type='text/javascript'>
alert('Hello from PHP!');
</script>";
?>
2. php로 생성후 변수 할당방식
<?php
$data = "Hello, World!";
?>
<!DOCTYPE html>
<html>
<head>
<title>PHP와 JavaScript</title>
</head>
<body>
<script type="text/javascript">
var dataFromPHP = "<?php echo $data; ?>";
alert(dataFromPHP);
</script>
</body>
</html>
2. header('Location: ddd.html'.urldecode('값'))
$response = curl_exec($curl);
$err = curl_error($curl);
if ($err) {
echo 'cURL Error #:' . $err;
} else {
// 데이터 전달
header('Location: ./index.html?response=' . urlencode($response));
}
curl_close($curl);
exit();
html에서 가져오는 방식 : 이동한 url 주소값에서 확인
3. form 태그 사용
$response = curl_exec($curl);
$err = curl_error($curl);
if ($err) {
echo 'cURL Error #:' . $err;
} else {
// 폼 생성 및 자동 제출
echo '<form id="redirectForm" method="POST" action="./index.html">';
echo '<input type="hidden" name="response" value="' . htmlspecialchars($response) . '">';
echo '</form>';
echo '<script>document.getElementById("redirectForm").submit();</script>';
}
curl_close($curl);
exit();
html에서 가져오는 방식 :
스크립트 생성 방식
<!DOCTYPE html>
<html>
<head>
<title>Response Data</title>
</head>
<body>
<script type="text/javascript">
// FormData 객체를 사용하여 POST 데이터 읽기
window.onload = function() {
var formData = new FormData(document.forms[0]);
var response = formData.get('response');
console.log(response); // 콘솔에 출력
document.getElementById('responseData').innerText = response; // 화면에 출력
};
</script>
<form method="POST">
<div id="responseData"></div>
</form>
</body>
</html>