【问题标题】:File opened with readfile is not being shown [duplicate]未显示用 readfile 打开的文件 [重复]
【发布时间】:2013-04-27 20:51:39
【问题描述】:
<p>
<?php
$filename = $_GET['package'];
echo readfile("$filename.txt");
?></p>

这是我的html的一部分,我想用这个url来读取一个txt的文件名:

http://example.com/something.html?package=new

如果我使用这个,html 必须显示 new.txt 的内容,但什么都没有。

我设置了error_reporting(-1),但没有错误。

网址是http://repo.cydie.com/depictions/2.html 看源码就行了

我的错误是什么?

【问题讨论】:

    标签: php get readfile


    【解决方案1】:

    你在这里做错了连接

    改变这个

    echo readfile("$filename.txt");
    

    readfile($filename . ".txt");
    

    【讨论】:

    • 不正确,OP 的 插值 是正确的
    【解决方案2】:

    试试这个

    <p>
    <?php
      $filename = $_GET['package'].".txt";
      echo readfile($filename);
    ?></p>
    

    【讨论】:

    • 没用:/我知道为什么
    【解决方案3】:

    readfile 不需要回显。 readfile()会直接输出内容

    readfile("$filename.txt");
    

    手册:

    读取文件并将其写入输出缓冲区。

    请注意,这会导致问题,因为readfile() 将返回从文件中读取的字节数。因此,您的内容(如果存在)将如下所示:

    hello world
    12 
    

    (注意换行,这就是为什么是 12,而不是 11)


    但这不会导致问题,即找不到文件。你应该检查$filename是否真的存在!

    【讨论】:

    • @Cydie var_dump($filename); 给了你什么?
    • 什么给了你var_dump(file_exists($filename . '.txt'));
    • 扩展名的答案很好。
    • 看起来它现在可以工作了? :)
    • 是的,但是在这个站点中,他们似乎在用 html 做类似的事情,(我的意思是 url):http://sphinxsearch.com/forum/forum.html?id=1
    猜你喜欢
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    相关资源
    最近更新 更多