File_get_contents cong đầu vào php
Đôi khi tôi buộc phải thiết kế theo hướng tạo một Dịch vụ web trung gian (A) giữa Máy khách và một Dịch vụ web khác (gọi là B) Show Lý do tôi phải sử dụng hướng thiết kế này thì có nhiều, tuy nhiên thường gặp nhất là những vấn đề sau
Cách thiết kế này được gọi là “proxy”, ưu điểm là mềm dẻo và giải quyết triệt để các vấn đề trên. Tuy nhiên cũng có nhược điểm
Sau đây là một ví dụ đơn giản. Dịch vụ web A chuyển tiếp tiêu đề & dữ liệu từ Máy khách đến Dịch vụ web B, sau đó trả về các tiêu đề và dữ liệu phản hồi của Máy khách từ Dịch vụ web B người giao nhận. php$value) { $req_hdr[] = "$name: $value"; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $url, // Keep the request method CURLOPT_CUSTOMREQUEST => $_SERVER['REQUEST_METHOD'], // Forward necessary headers from the Client. Content-Type is mandatory. CURLOPT_HTTPHEADER => $req_hdr, CURLOPT_RETURNTRANSFER => true, CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_FAILONERROR => true ) ); // Forward the POST data from the Client to Web Service B if ( 'POST' === $_SERVER['REQUEST_METHOD'] ) : $body = file_get_contents("php://input"); curl_setopt($curl, CURLOPT_POSTFIELDS, $body); endif; // Gather all response headers from Web Service B. $response_headers = array(); curl_setopt( $curl, CURLOPT_HEADERFUNCTION, function( $curl, $header ) use(&$res_hdr) { $h = explode( ": ", $header ); $res_hdr[$h[0]] = $h[1]; return strlen( $header ); } ); // Call the target URL $response = curl_exec($ch); $error_no = curl_errno($ch); $error_msg = curl_error($ch); $info = curl_getinfo($curl); curl_close($ch); if ( $response === false ) { http_response_code($info['http_code']); die( "Error {$error_no}: {$error_msg}" ); } else { // Forward some response headers from Server B to the client foreach ( array( 'Content-Type', 'Content-Transfer-Encoding', 'Content-Disposition', 'Accept-Ranges', /* ...other headers if any.. */ ) as $header ) if ( isset($res_hdr[$header]) ) header( "{$header}: {$res_hdr[$header]}" ); echo $response; } ?> Configure htaccess
Và ta có thể sử dụng API REST của Dịch vụ B từ JavaScript trung gian qua Dịch vụ web A qua URL, ví dụ PHP là ngôn ngữ kịch bản máy chủ và là công cụ mạnh mẽ để tạo các trang Web động và tương tác PHP là một giải pháp thay thế được sử dụng rộng rãi, miễn phí và hiệu quả cho các đối thủ cạnh tranh như ASP của Microsoft Bắt đầu học PHP ngay bây giờ »Học dễ dàng với "PHP Tryit"Với trình chỉnh sửa "PHP Tryit" trực tuyến của chúng tôi, bạn có thể chỉnh sửa mã PHP và nhấp vào nút để xem kết quả Ví dụecho "Tập lệnh PHP đầu tiên của tôi. "; Nhấp vào nút "Tự dùng thử" để xem nó hoạt động như thế nào Bài tập PHPKiểm tra bản thân với các bài tậpTập thể dụcChèn phần còn thiếu của mã bên dưới để xuất "Xin chào thế giới" Cung cấp câu trả lời " Ví dụ PHPTìm hiểu bằng các ví dụ. Hướng dẫn này bổ sung tất cả các giải thích với các ví dụ rõ ràng Xem tất cả các ví dụ về PHP Bài kiểm tra PHPHọc bằng cách làm bài kiểm tra. Bài kiểm tra này sẽ cung cấp cho bạn tín hiệu về mức độ bạn biết hoặc không biết về PHP Bắt đầu bài kiểm tra PHP Việc học của tôiTheo dõi tiến trình của bạn với chương trình "Học tập của tôi" miễn phí tại W3Schools Đăng nhập vào tài khoản của bạn và bắt đầu kiếm điểm Đây là một tính năng tùy chọn. Bạn có thể học W3Schools mà không cần sử dụng My Learning Tài liệu tham khảo PHPTài liệu tham khảo PHP của W3Schools chứa các danh mục khác nhau của tất cả các hàm, từ khóa và hằng số PHP, cùng với các ví dụ |