Hướng dẫn php redirect post - bài chuyển hướng php

Tôi đã thực hiện một số nghiên cứu về chủ đề này, và có một số chuyên gia đã nói rằng không thể, vì vậy tôi muốn hỏi một giải pháp thay thế.

Hoàn cảnh của tôi:

Trang A: [Checkout.php] Khách hàng điền vào chi tiết thanh toán của họ.

Trang B: [Process.php] Tạo số hóa đơn và lưu trữ chi tiết khách hàng trong cơ sở dữ liệu.

Trang C: [Thứ baParty.com] Cổng thanh toán thứ ba (chỉ chấp nhận dữ liệu bài đăng).

Khách hàng điền vào chi tiết của họ và thiết lập giỏ hàng của họ trong trang A, sau đó đăng lên Trang B. Inside Process.php, lưu trữ dữ liệu được đăng bên trong cơ sở dữ liệu và tạo số hóa đơn. Sau đó, đăng dữ liệu khách hàng và số hóa đơn lên cổng thanh toán thứ ba. Vấn đề đang thực hiện bài đăng trong trang B. Curl có thể đăng dữ liệu lên trang C, nhưng vấn đề là trang không chuyển hướng đến trang C. Khách hàng cần điền chi tiết thẻ tín dụng trên trang C.

Cổng thanh toán của bên thứ ba đã cung cấp cho chúng tôi mẫu API, mẫu được đăng số hóa đơn cùng với chi tiết khách hàng. Chúng tôi không muốn hệ thống tạo ra số lượng hóa đơn không mong muốn.

Có giải pháp nào cho điều này? Giải pháp hiện tại của chúng tôi là để khách hàng điền chi tiết trong trang A, sau đó trong trang B, chúng tôi tạo một trang khác hiển thị tất cả các chi tiết của khách hàng ở đó, trong đó người dùng có thể nhấp vào nút Xác nhận để đăng lên Trang C.

Mục tiêu của chúng tôi là khách hàng chỉ phải nhấp một lần.

Hy vọng câu hỏi của tôi là rõ ràng :)

Hướng dẫn php redirect post - bài chuyển hướng php

Quelklef

1.8442 Huy hiệu vàng21 Huy hiệu bạc35 Huy hiệu Đồng2 gold badges21 silver badges35 bronze badges

Hỏi ngày 7 tháng 4 năm 2011 lúc 5:54Apr 7, 2011 at 5:54

2

Tạo một biểu mẫu trên trang B với tất cả các dữ liệu và hành động cần thiết được đặt thành trang C và gửi nó với JavaScript trên tải trang. Dữ liệu của bạn sẽ được gửi đến Trang C mà không gặp nhiều rắc rối cho người dùng.

Đây là cách duy nhất để làm điều đó. Chuyển hướng là tiêu đề 303 HTTP mà bạn có thể đọc trên http://www.w3.org/protocols/rfc2616/rfc2616-sec10.html, nhưng tôi sẽ trích dẫn một số điều đó:

Phản hồi cho yêu cầu có thể được tìm thấy theo một URI khác và nên được truy xuất bằng phương thức GET trên tài nguyên đó. Phương pháp này tồn tại chủ yếu để cho phép đầu ra của tập lệnh sau được kích hoạt để chuyển hướng tác nhân người dùng đến một tài nguyên đã chọn. URI mới không phải là tài liệu tham khảo thay thế cho tài nguyên được yêu cầu ban đầu. Phản hồi 303 không được lưu trữ, nhưng phản hồi cho yêu cầu thứ hai (chuyển hướng) có thể có thể lưu trữ được.

Cách duy nhất để đạt được những gì bạn đang làm là với một trang trung gian gửi người dùng đến trang C. Đây là một đoạn trích nhỏ/đơn giản về cách bạn có thể đạt được điều đó:

$b) { echo ''; } ?>

Bạn cũng nên có một biểu mẫu "xác nhận" đơn giản bên trong thẻ NOScript để đảm bảo người dùng không có JavaScript sẽ có thể sử dụng dịch vụ của bạn.

Hướng dẫn php redirect post - bài chuyển hướng php

cảm xúc

12.6K4 Huy hiệu vàng38 Huy hiệu bạc60 Huy hiệu Đồng4 gold badges38 silver badges60 bronze badges

Đã trả lời ngày 7 tháng 4 năm 2011 lúc 6:02Apr 7, 2011 at 6:02

PEATERPEETERPeeter

9.1524 Huy hiệu vàng36 Huy hiệu bạc52 Huy hiệu Đồng4 gold badges36 silver badges52 bronze badges

9

/**
  * Redirect with POST data.
  *
  * @param string $url URL.
  * @param array $post_data POST data. Example: ['foo' => 'var', 'id' => 123]
  * @param array $headers Optional. Extra headers to send.
  */
public function redirect_post($url, array $data, array $headers = null) {
  $params = [
    'http' => [
      'method' => 'POST',
      'content' => http_build_query($data)
    ]
  ];

  if (!is_null($headers)) {
    $params['http']['header'] = '';
    foreach ($headers as $k => $v) {
      $params['http']['header'] .= "$k: $v\n";
    }
  }

  $ctx = stream_context_create($params);
  $fp = @fopen($url, 'rb', false, $ctx);

  if ($fp) {
    echo @stream_get_contents($fp);
    die();
  } else {
    // Error
    throw new Exception("Error loading '$url', $php_errormsg");
  }
}

Đã trả lời ngày 1 tháng 3 năm 2013 lúc 15:52Mar 1, 2013 at 15:52

Eduardo Cuomoeduardo CuomoEduardo Cuomo

16.8K6 Huy hiệu vàng108 Huy hiệu bạc91 Huy hiệu Đồng6 gold badges108 silver badges91 bronze badges

7

$ _Session là bạn của bạn nếu bạn không muốn gây rối với JavaScript

Giả sử bạn đang cố gắng truyền email:

Trên trang A:

// Start the session
session_start();

// Set session variables
$_SESSION["email"] = "";

header('Location: page_b.php');

Và trên trang B:

// Start the session
session_start();

// Show me the session!  
echo "
";
print_r($_SESSION);
echo "
";

Để phá hủy phiên

unset($_SESSION['email']);
session_destroy();

Đã trả lời ngày 13 tháng 2 năm 2017 lúc 23:16Feb 13, 2017 at 23:16

Hướng dẫn php redirect post - bài chuyển hướng php

Robert Sinclairrobert SinclairRobert Sinclair

4.0652 Huy hiệu vàng37 Huy hiệu bạc39 Huy hiệu Đồng2 gold badges37 silver badges39 bronze badges

6

Tôi có một giải pháp khác làm cho điều này có thể. Nó yêu cầu khách hàng đang chạy JavaScript (mà tôi nghĩ là một yêu cầu công bằng trong những ngày này).

Chỉ cần sử dụng yêu cầu AJAX trên trang A để đi và tạo số hóa đơn và chi tiết khách hàng của bạn trong nền (trang trước của bạn), sau đó khi yêu cầu được trả lại thành công với thông tin chính xác - chỉ cần hoàn thành việc gửi biểu mẫu vào cổng thanh toán của bạn (Trang C).

Điều này sẽ đạt được kết quả của người dùng chỉ nhấp vào một nút và tiến hành cổng thanh toán. Dưới đây là một số mã giả

HTML:

JS (sử dụng jQuery để thuận tiện nhưng tầm thường để tạo ra JavaScript thuần túy):

$('#submitButton').click(function(e) {
  e.preventDefault(); //This will prevent form from submitting

  //Do some stuff like build a list of things being purchased and customer details

  $.getJSON('setupOrder.php', {listOfProducts: products, customerDetails: details }, function(data) {
  if (!data.error) {
    $('#paymentForm #customInvoiceID').val(data.id);
    $('#paymentForm').submit();   //Send client to the payment processor
  }
});

Đã trả lời ngày 15 tháng 3 năm 2013 lúc 3:30Mar 15, 2013 at 3:30

MikemurkomikemurkoMikeMurko

2.14926 huy hiệu bạc53 huy hiệu đồng26 silver badges53 bronze badges

3

Tôi biết đây là một câu hỏi cũ, nhưng tôi có một giải pháp thay thế khác với jQuery:

var actionForm = $('
', {'action': 'nextpage.php', 'method': 'post'}).append($('', {'name': 'action', 'value': 'delete', 'type': 'hidden'}), $('', {'name': 'id', 'value': 'some_id', 'type': 'hidden'})); actionForm.submit();

Mã trên sử dụng jQuery để tạo thẻ biểu mẫu, nối thêm các trường ẩn làm trường bài và gửi cuối cùng. Trang sẽ chuyển tiếp đến trang mục tiêu biểu mẫu với dữ liệu bài đăng được đính kèm.

P.S. JavaScript & jQuery được yêu cầu cho trường hợp này. Theo đề xuất của các nhận xét của các câu trả lời khác, bạn có thể sử dụng thẻ

/**
  * Redirect with POST data.
  *
  * @param string $url URL.
  * @param array $post_data POST data. Example: ['foo' => 'var', 'id' => 123]
  * @param array $headers Optional. Extra headers to send.
  */
public function redirect_post($url, array $data, array $headers = null) {
  $params = [
    'http' => [
      'method' => 'POST',
      'content' => http_build_query($data)
    ]
  ];

  if (!is_null($headers)) {
    $params['http']['header'] = '';
    foreach ($headers as $k => $v) {
      $params['http']['header'] .= "$k: $v\n";
    }
  }

  $ctx = stream_context_create($params);
  $fp = @fopen($url, 'rb', false, $ctx);

  if ($fp) {
    echo @stream_get_contents($fp);
    die();
  } else {
    // Error
    throw new Exception("Error loading '$url', $php_errormsg");
  }
}
8 để tạo biểu mẫu HTML tiêu chuẩn trong trường hợp JS bị vô hiệu hóa.

Đã trả lời ngày 23 tháng 3 năm 2015 lúc 3:37Mar 23, 2015 at 3:37

Hướng dẫn php redirect post - bài chuyển hướng php

RaptorraptorRaptor

52.1K44 Huy hiệu vàng223 Huy hiệu bạc357 Huy hiệu đồng44 gold badges223 silver badges357 bronze badges

Tôi biết rằng câu hỏi được định hướng

/**
  * Redirect with POST data.
  *
  * @param string $url URL.
  * @param array $post_data POST data. Example: ['foo' => 'var', 'id' => 123]
  * @param array $headers Optional. Extra headers to send.
  */
public function redirect_post($url, array $data, array $headers = null) {
  $params = [
    'http' => [
      'method' => 'POST',
      'content' => http_build_query($data)
    ]
  ];

  if (!is_null($headers)) {
    $params['http']['header'] = '';
    foreach ($headers as $k => $v) {
      $params['http']['header'] .= "$k: $v\n";
    }
  }

  $ctx = stream_context_create($params);
  $fp = @fopen($url, 'rb', false, $ctx);

  if ($fp) {
    echo @stream_get_contents($fp);
    die();
  } else {
    // Error
    throw new Exception("Error loading '$url', $php_errormsg");
  }
}
9, nhưng cách tốt nhất để chuyển hướng yêu cầu
// Start the session
session_start();

// Set session variables
$_SESSION["email"] = "";

header('Location: page_b.php');
0 có lẽ là sử dụng
// Start the session
session_start();

// Set session variables
$_SESSION["email"] = "";

header('Location: page_b.php');
1, tức là:

RewriteEngine on
RewriteCond %{REQUEST_URI} string_to_match_in_url
RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^(.*)$ https://domain.tld/$1 [L,R=307]

Explanation:

Theo mặc định, nếu bạn muốn chuyển hướng yêu cầu với dữ liệu bài đăng, trình duyệt chuyển hướng nó thông qua Get với

// Start the session
session_start();

// Set session variables
$_SESSION["email"] = "";

header('Location: page_b.php');
2. Điều này cũng làm giảm tất cả các dữ liệu bài liên quan đến yêu cầu. Trình duyệt thực hiện điều này như là một biện pháp phòng ngừa để ngăn chặn bất kỳ việc đăng ký lại giao dịch sau.This also drops all the POST data associated with the request. Browser does this as a precaution to prevent any unintentional re-submitting of POST transaction.

Nhưng điều gì sẽ xảy ra nếu bạn muốn chuyển hướng dù sao cũng được đăng yêu cầu với dữ liệu của nó thì sao? Trong HTTP 1.1, có một mã trạng thái cho việc này. Mã trạng thái

// Start the session
session_start();

// Set session variables
$_SESSION["email"] = "";

header('Location: page_b.php');
3 chỉ ra rằng yêu cầu nên được lặp lại với cùng một phương thức và dữ liệu HTTP. Vì vậy, yêu cầu bài đăng của bạn sẽ được lặp lại cùng với dữ liệu của nó nếu bạn sử dụng mã trạng thái này.Status code
// Start the session
session_start();

// Set session variables
$_SESSION["email"] = "";

header('Location: page_b.php');
3 indicates that the request should be repeated
with the same HTTP method and data. So your POST request will be repeated along with it’s data if you use this status code.

SRC

Đã trả lời ngày 29 tháng 8 năm 2019 lúc 20:46Aug 29, 2019 at 20:46

Hướng dẫn php redirect post - bài chuyển hướng php

Pedro lobitopedro lobitoPedro Lobito

89.3k30 Huy hiệu vàng239 Huy hiệu bạc259 Huy hiệu Đồng30 gold badges239 silver badges259 bronze badges

Bạn có thể để PHP thực hiện một bài đăng, nhưng sau đó PHP của bạn sẽ nhận được sự trở lại, với tất cả các loại biến chứng. Tôi nghĩ rằng đơn giản nhất sẽ là thực sự để người dùng thực hiện bài đăng.

Vì vậy, loại-của những gì bạn đề xuất, bạn thực sự sẽ nhận được phần này:

Khách hàng điền chi tiết trong trang A, sau đó trong trang B Chúng tôi tạo một trang khác Hiển thị tất cả các chi tiết của khách hàng ở đó, nhấp vào nút Xác nhận sau đó đăng lên Trang C.

Nhưng bạn thực sự có thể thực hiện một bản gửi JavaScript trên trang B, vì vậy không cần phải nhấp chuột. Làm cho nó trở thành một trang "chuyển hướng" với hình ảnh động tải và bạn đã được thiết lập.

Đã trả lời ngày 7 tháng 4 năm 2011 lúc 6:03Apr 7, 2011 at 6:03

NannenanneNanne

63.7K16 Huy hiệu vàng116 Huy hiệu bạc161 Huy hiệu đồng16 gold badges116 silver badges161 bronze badges

2

Có một bản hack đơn giản, sử dụng

// Start the session
session_start();

// Set session variables
$_SESSION["email"] = "";

header('Location: page_b.php');
4 và tạo
// Start the session
session_start();

// Set session variables
$_SESSION["email"] = "";

header('Location: page_b.php');
5 các giá trị được đăng và một khi bạn đi đến
// Start the session
session_start();

// Set session variables
$_SESSION["email"] = "";

header('Location: page_b.php');
6, bạn có thể sử dụng nó sau đó bạn có xử lý sau khi phá hủy nó.

Hướng dẫn php redirect post - bài chuyển hướng php

Naman

1.47117 Huy hiệu bạc32 Huy hiệu đồng17 silver badges32 bronze badges

Đã trả lời ngày 10 tháng 12 năm 2015 lúc 17:53Dec 10, 2015 at 17:53

3

Tôi đã phải đối mặt với các vấn đề tương tự với yêu cầu POST trong đó yêu cầu nhận được hoạt động tốt trên phần phụ trợ của tôi mà tôi đang vượt qua các biến của mình, v.v ... Vấn đề nằm ở đó mà phần phụ trợ thực hiện rất nhiều chuyển hướng, không hoạt động với các phương thức tiêu đề PHP hoặc PHP.

Vì vậy, cách duy nhất tôi có được nó hoạt động là đặt một biểu mẫu ẩn và đẩy các giá trị bằng một bài đăng khi trang được tải.

echo
'   
    
    
    
    
    
';

Đã trả lời ngày 13 tháng 2 năm 2020 lúc 13:00Feb 13, 2020 at 13:00

Hướng dẫn php redirect post - bài chuyển hướng php

Kayakayakaya

1.5661 Huy hiệu vàng20 Huy hiệu bạc27 Huy hiệu đồng1 gold badge20 silver badges27 bronze badges

4

Bạn có thể sử dụng các phiên để lưu dữ liệu

// Start the session
session_start();

// Set session variables
$_SESSION["email"] = "";

header('Location: page_b.php');
7, sau đó truy xuất dữ liệu đó và đặt nó thành
// Start the session
session_start();

// Set session variables
$_SESSION["email"] = "";

header('Location: page_b.php');
7 trên yêu cầu tiếp theo.

Người dùng gửi yêu cầu đến /dirty-submission-url.php do:
Do:

/**
  * Redirect with POST data.
  *
  * @param string $url URL.
  * @param array $post_data POST data. Example: ['foo' => 'var', 'id' => 123]
  * @param array $headers Optional. Extra headers to send.
  */
public function redirect_post($url, array $data, array $headers = null) {
  $params = [
    'http' => [
      'method' => 'POST',
      'content' => http_build_query($data)
    ]
  ];

  if (!is_null($headers)) {
    $params['http']['header'] = '';
    foreach ($headers as $k => $v) {
      $params['http']['header'] .= "$k: $v\n";
    }
  }

  $ctx = stream_context_create($params);
  $fp = @fopen($url, 'rb', false, $ctx);

  if ($fp) {
    echo @stream_get_contents($fp);
    die();
  } else {
    // Error
    throw new Exception("Error loading '$url', $php_errormsg");
  }
}
0

Sau đó, trình duyệt chuyển hướng đến và yêu cầu

// Start the session
session_start();

// Set session variables
$_SESSION["email"] = "";

header('Location: page_b.php');
9 từ máy chủ của bạn. Bạn sẽ có một số định tuyến nội bộ để tìm ra những gì phải làm với điều này. Khi bắt đầu yêu cầu, bạn sẽ làm:
At the beginning of the request, you will do:

/**
  * Redirect with POST data.
  *
  * @param string $url URL.
  * @param array $post_data POST data. Example: ['foo' => 'var', 'id' => 123]
  * @param array $headers Optional. Extra headers to send.
  */
public function redirect_post($url, array $data, array $headers = null) {
  $params = [
    'http' => [
      'method' => 'POST',
      'content' => http_build_query($data)
    ]
  ];

  if (!is_null($headers)) {
    $params['http']['header'] = '';
    foreach ($headers as $k => $v) {
      $params['http']['header'] .= "$k: $v\n";
    }
  }

  $ctx = stream_context_create($params);
  $fp = @fopen($url, 'rb', false, $ctx);

  if ($fp) {
    echo @stream_get_contents($fp);
    die();
  } else {
    // Error
    throw new Exception("Error loading '$url', $php_errormsg");
  }
}
1

Bây giờ, thông qua phần còn lại của yêu cầu của bạn, bạn có thể truy cập

// Start the session
session_start();

// Set session variables
$_SESSION["email"] = "";

header('Location: page_b.php');
7 như bạn có thể theo yêu cầu đầu tiên.

Đã trả lời ngày 25 tháng 4 năm 2019 lúc 15:22Apr 25, 2019 at 15:22

Hướng dẫn php redirect post - bài chuyển hướng php

ReedreedReed

14.4K8 Huy hiệu vàng63 Huy hiệu bạc108 Huy hiệu Đồng8 gold badges63 silver badges108 bronze badges

3

Thử cái này:

Gửi dữ liệu và yêu cầu với tiêu đề HTTP trong Trang B để chuyển hướng đến Gateway

/**
  * Redirect with POST data.
  *
  * @param string $url URL.
  * @param array $post_data POST data. Example: ['foo' => 'var', 'id' => 123]
  * @param array $headers Optional. Extra headers to send.
  */
public function redirect_post($url, array $data, array $headers = null) {
  $params = [
    'http' => [
      'method' => 'POST',
      'content' => http_build_query($data)
    ]
  ];

  if (!is_null($headers)) {
    $params['http']['header'] = '';
    foreach ($headers as $k => $v) {
      $params['http']['header'] .= "$k: $v\n";
    }
  }

  $ctx = stream_context_create($params);
  $fp = @fopen($url, 'rb', false, $ctx);

  if ($fp) {
    echo @stream_get_contents($fp);
    die();
  } else {
    // Error
    throw new Exception("Error loading '$url', $php_errormsg");
  }
}
2

Tiêu đề bổ sung:

/**
  * Redirect with POST data.
  *
  * @param string $url URL.
  * @param array $post_data POST data. Example: ['foo' => 'var', 'id' => 123]
  * @param array $headers Optional. Extra headers to send.
  */
public function redirect_post($url, array $data, array $headers = null) {
  $params = [
    'http' => [
      'method' => 'POST',
      'content' => http_build_query($data)
    ]
  ];

  if (!is_null($headers)) {
    $params['http']['header'] = '';
    foreach ($headers as $k => $v) {
      $params['http']['header'] .= "$k: $v\n";
    }
  }

  $ctx = stream_context_create($params);
  $fp = @fopen($url, 'rb', false, $ctx);

  if ($fp) {
    echo @stream_get_contents($fp);
    die();
  } else {
    // Error
    throw new Exception("Error loading '$url', $php_errormsg");
  }
}
3

Đã trả lời ngày 18 tháng 6 năm 2019 lúc 5:53Jun 18, 2019 at 5:53

/**
  * Redirect with POST data.
  *
  * @param string $url URL.
  * @param array $post_data POST data. Example: ['foo' => 'var', 'id' => 123]
  * @param array $headers Optional. Extra headers to send.
  */
public function redirect_post($url, array $data, array $headers = null) {
  $params = [
    'http' => [
      'method' => 'POST',
      'content' => http_build_query($data)
    ]
  ];

  if (!is_null($headers)) {
    $params['http']['header'] = '';
    foreach ($headers as $k => $v) {
      $params['http']['header'] .= "$k: $v\n";
    }
  }

  $ctx = stream_context_create($params);
  $fp = @fopen($url, 'rb', false, $ctx);

  if ($fp) {
    echo @stream_get_contents($fp);
    die();
  } else {
    // Error
    throw new Exception("Error loading '$url', $php_errormsg");
  }
}
4

Example:

/**
  * Redirect with POST data.
  *
  * @param string $url URL.
  * @param array $post_data POST data. Example: ['foo' => 'var', 'id' => 123]
  * @param array $headers Optional. Extra headers to send.
  */
public function redirect_post($url, array $data, array $headers = null) {
  $params = [
    'http' => [
      'method' => 'POST',
      'content' => http_build_query($data)
    ]
  ];

  if (!is_null($headers)) {
    $params['http']['header'] = '';
    foreach ($headers as $k => $v) {
      $params['http']['header'] .= "$k: $v\n";
    }
  }

  $ctx = stream_context_create($params);
  $fp = @fopen($url, 'rb', false, $ctx);

  if ($fp) {
    echo @stream_get_contents($fp);
    die();
  } else {
    // Error
    throw new Exception("Error loading '$url', $php_errormsg");
  }
}
5

Đã trả lời ngày 23 tháng 4 năm 2015 lúc 8:08Apr 23, 2015 at 8:08

Hướng dẫn php redirect post - bài chuyển hướng php

Ở đây có một cách tiếp cận khác phù hợp với tôi:

Nếu bạn cần chuyển hướng đến một trang web khác (

// Start the session
session_start();

// Show me the session!  
echo "
";
print_r($_SESSION);
echo "
";
1) và bao gồm một biến PHP (
// Start the session
session_start();

// Show me the session!  
echo "
";
print_r($_SESSION);
echo "
";
2):

/**
  * Redirect with POST data.
  *
  * @param string $url URL.
  * @param array $post_data POST data. Example: ['foo' => 'var', 'id' => 123]
  * @param array $headers Optional. Extra headers to send.
  */
public function redirect_post($url, array $data, array $headers = null) {
  $params = [
    'http' => [
      'method' => 'POST',
      'content' => http_build_query($data)
    ]
  ];

  if (!is_null($headers)) {
    $params['http']['header'] = '';
    foreach ($headers as $k => $v) {
      $params['http']['header'] .= "$k: $v\n";
    }
  }

  $ctx = stream_context_create($params);
  $fp = @fopen($url, 'rb', false, $ctx);

  if ($fp) {
    echo @stream_get_contents($fp);
    die();
  } else {
    // Error
    throw new Exception("Error loading '$url', $php_errormsg");
  }
}
6

hoặc

/**
  * Redirect with POST data.
  *
  * @param string $url URL.
  * @param array $post_data POST data. Example: ['foo' => 'var', 'id' => 123]
  * @param array $headers Optional. Extra headers to send.
  */
public function redirect_post($url, array $data, array $headers = null) {
  $params = [
    'http' => [
      'method' => 'POST',
      'content' => http_build_query($data)
    ]
  ];

  if (!is_null($headers)) {
    $params['http']['header'] = '';
    foreach ($headers as $k => $v) {
      $params['http']['header'] .= "$k: $v\n";
    }
  }

  $ctx = stream_context_create($params);
  $fp = @fopen($url, 'rb', false, $ctx);

  if ($fp) {
    echo @stream_get_contents($fp);
    die();
  } else {
    // Error
    throw new Exception("Error loading '$url', $php_errormsg");
  }
}
7

Đã trả lời ngày 27 tháng 11 năm 2019 lúc 16:49Nov 27, 2019 at 16:49

Hướng dẫn php redirect post - bài chuyển hướng php

LucholuchoLucho

Phim huy hiệu bạc 21311 silver badge5 bronze badges

1