0

私の問題は次のとおりです。サーバーにEmailReports.phpがあり、EmailReports.php?who = some @ gmail.com&what=123456.pdfのようなメールを送信するために使用しています。

EmailReports.phpは別のプロジェクトに属しており、すぐにメールを送信し、QAチームなどによって承認されているため、EmailReports.phpを変更することはできません。

さて、別のLookReports.phpで、「レビューしたレポートを送ってください」のようなサービスを提供する必要があります。これは、EmailReports.phpを呼び出すだけで簡単に実行できます。問題は、PHPコードでどのように実行できるかということです。そのため、他のPHPを自動的に呼び出します。

私は成功せずに試しました:

$stuff = http_get("http://...<the url here>");

$stuff =  file_get_contents("http://...<the url here>");

EmailReports.phpのインポートを考えていましたが、関数がないため正しくないようで、自動的にメールを送信します。

または、EmailReports.phpコードを複製することもできますが、追加のテストが必要になるため、QAポリシーに違反します。

少し案内してもらえますか?

前もって感謝します。

4

1 に答える 1

6

Curlリクエストを使用して、任意の Web サイトから情報 (xml/html/json/etc) を取得できます。

カールとは?(簡潔な答え)

PHP には、リモート サイトからデータを安全に取得するために特別に設計された非常に強力な呼び出しライブラリがあります。カールといいます。

出典:PHP、CURL、そしてあなた!

PHP での Curl 関数の例

/* gets the data from a URL */
function get_data($url)
{
 if(function_exists('curl_init')){
 $ch = curl_init();
 $timeout = 5;
 curl_setopt($ch,CURLOPT_URL,$url);
 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
 curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
 $data = curl_exec($ch);
 curl_close($ch);
 return $data;
 } else 'curl is not available, please install';
 }

ソース : PHP cURL を使用して URL のコンテンツをダウンロードする

または、現在行っていることを行うこともできますがfile_get_contents、多くのホストではこれが許可されていません。(ウォルシュ、2007)

使用法

<?php
$mydata = get_data('http://www.google.co.nz');
echo '<pre>';
print_r($mydata); //display the contents in $mydata as preformatted text
echo '</pre>';
?>

多くの場合、curl が実行された後に (これは予想されることです)googleが返されるため、他の Web サイトでテストしてみてください。404 request

于 2012-07-20T04:05:39.630 に答える