对于我最聪明的朋友,我用Google搜索并尝试了一切。我确信这只是深夜不让我看到/理解问题。我应该提一下,我仍然在从功能切换到OOP,我这是我第一次能够启用curl。 :(所以,随意批评任何不良做法也.. ..
<?php
class urlValidation
{
public $content;
public $validUrl;
public function __construct($validUrl)
{
$this->content = $content;
$this->validUrl = $validUrl;
$this->getContents();
}
public function getContents()
{
$this->curlHandler = curl_init($this->validUrl);
curl_setopt($this->curlHandler, CURLOPT_NOBODY, false);
curl_setopt(CURLOPT_RETURNTRANSFER, false); //changing false to true is the answer!
$this->content = curl_exec($this->curlHandler);
curl_close($this->curlHandler);
}
}
?>
来自
$suggestUrl = 'http://www.google.com';
$validate = new urlValidation($suggestedUrl);
对于我所有人中的所有人,我无法弄清楚为什么$ this-&gt;内容会在不被调用的情况下打印到屏幕上。我只是希望将返回的HTML存储在变量中,而不是返回/打印/附加到文档中。
答案 0 :(得分:3)
PHP文档解释了所有内容;)
curl_exec
成功时返回TRUE,失败时返回FALSE。但是,如果设置了CURLOPT_RETURNTRANSFER
选项,它将在成功时返回结果,在失败时返回FALSE。
所以在$this->content = curl_exec($this->curlHandler);
之前你需要添加这个
curl_setopt($this->curlHandler, CURLOPT_RETURNTRANSFER, true);