1

对于我最聪明的朋友,我用谷歌搜索并尝试了一切。我确信这只是深夜没有让我看到/理解问题。我应该提一下,我仍在从功能切换到 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->content 会在没有被调用的情况下打印到屏幕上。我只是希望将返回的 HTML 存储在一个变量中,而不是返回/打印/附加到文档中。

4

1 回答 1

3

PHP 文档解释了这一切;)

curl_exec成功时返回 TRUE,失败时返回 FALSE。但是,如果CURLOPT_RETURNTRANSFER设置了该选项,它将在成功时返回结果,在失败时返回 FALSE。

所以在$this->content = curl_exec($this->curlHandler);你需要添加这个之前

curl_setopt($this->curlHandler, CURLOPT_RETURNTRANSFER, true);
于 2012-09-06T06:39:00.380 回答