这段代码在php中有什么问题?

时间:2013-08-21 14:12:32

标签: php html http

我在里面写了一个像这样的链接

('http://torrentz.eu/search?f='.the_title());

但.thetitle()部分无效。我的网站看到的就是文字。 有人能帮助我吗?

我的完整代码是:

<div id="proluk" style="height:300px;width:500px;background:#ff0;overflow:scroll;overflow-x:hidden;">
            <?
            $sayfa = file_get_contents('http://torrentz.eu/search?f='.the_title());
            preg_match_all('~<a href="(.*?)">(.*)</a>~', $sayfa, $cikti);

            foreach ($cikti[1] as $link) {
                echo '<a href="http://torrentz.eu'.$link .'"  > Torrent İndir <br />';
            }  
            ?>
</div>

编辑: 这是一个worpress博客,所以the_title()得到我的页面标题 我有一个游戏网站,我尝试在torrentz.eu中拉相同的游戏,但我的file_get_contents有语法问题(我猜) 它是有效的:

sayfa = file_get_contents('http://torrentz.eu/search?f=somegamename');

但它不起作用:

sayfa = file_get_contents('http://torrentz.eu/search?f='.the_title());

我的网站是:http://www.oyundetay.org 你可以看到帖子里面的例子(黄色区域)

3 个答案:

答案 0 :(得分:2)

正如Codex所说:

  

the_title 显示或返回当前帖子的标题。此标记只能在The Loop中使用,以便在循环外使用get_the_title获取帖子的标题。

所以,只需更改

即可
file_get_contents('http://torrentz.eu/search?f='.the_title());

file_get_contents('http://torrentz.eu/search?f='. get_the_title());

这应该解决问题(希望如此)。

有关详细信息,请参阅文档:get_the_title()

答案 1 :(得分:1)

file_get_contents('http://torrentz.eu/search?f='.the_title());

the_title()会在这样调用时回显帖子的标题。所以没有什么可以连接到字符串的末尾。最简单的方法是调用get_the_title(),它返回相同的字符串,而不是回显它:

file_get_contents('http://torrentz.eu/search?f='.get_the_title());

修改

$i = 0;
foreach ($cikti[1] as $link) {
    $i++;
    if ($i > 5) {
            echo '<a href="http://torrentz.eu'.$link .'"  > Torrent İndir <br />';
    }
}

答案 2 :(得分:0)

PHP有一个配置设置,可以阻止file()及相关功能访问远程数据,例如来自http://地址。

有关详细信息,请参阅此处:PHP allow-url-fopen ini flag

最有可能的是,您的服务器已打开此配置。

如果是这种情况,您有两种选择:

  1. 关闭配置设置。

  2. 重写您的代码以使用CUrl代替file_get_contents()

  3. 如果您在共享托管服务器上运行该站点,则不太可能使用选项(1),因此您可能需要执行选项(2)。