問題は、関数 startURLCheck が実際にはメイン プログラムが使用する値を返さないことです。最後の行を変更します。
function startURLCheck($url)
{
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
return curl_exec($ch);
}
呼び出しコードで、「$this->」を取り出します
$html_output = startURLCheck($url);
$html_output に curl 呼び出しの結果が含まれるようになりました。
「mainFunction」宣言が構文的に正しくなく、startURLCheck がオブジェクトのメソッドであることを指定せずに「$this->」を使用したため、このコードをどこかからコピーして貼り付けたと想定しています。
実際に startURLCheck をオブジェクト メソッドにするつもりで、オブジェクトに $html_output を設定したい場合は、次のようにします。
<?php
class Example {
private $html_output;
function mainFunction()
{
$url='http://www.ebay.com/itm/Apple-iPhone-5-16GB-Black-Slate-Cricket-intl-UNLOCKED-pleeze-read-ad-/251252227033';
$this->startURLCheck($url);
echo "HTML output: " . $this->html_output;
}
function startURLCheck($url)
{
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$this->html_output = curl_exec($ch);
}
}
$example = new Example();
$example->mainFunction();
このコードをコマンド ラインでテストしました (Web ページではありません)。これをコピーしてファイルに貼り付け、php -r を使用して実行すると、結果が表示されます。(そして、閉じ ?> タグを含めていないことに注意してください。ファイルに PHP コードのみが含まれ、HTML が含まれていない場合、閉じタグはオプションです。実際、そのような場合は閉じタグを省略することをお勧めします。http:/を参照してください。 /php.net/manual/en/language.basic-syntax.instruction-separation.php )
また、mainFunction の質問コードで、URL の「pleeze」の前に不正なスペースがあり、$url 割り当ての末尾にセミコロンがないことに注意してください。
お役に立てれば。幸運を。