PHP获取动态生成文件的文件内容

时间:2016-08-11 19:12:52

标签: php

我想收集动态生成的文件的内容,并将内容放在将要发送但无法返回内容的电子邮件中。

/file/invoice/html/{id}

它自己的文件是一个.htaccess写的文件,所以它实际上不是它自己的位置或文件,我想要你在浏览器中查看时看到的内容我希望能够获得它的内容并将其作为内容插入电子邮件中。

.htaccess控制文件的类型和文件的格式。 我用于文件的htaccess是

RewriteRule ^file/([^/]+)?$ file.php?file=$1 [QSA]  
RewriteRule ^file/([^/]+)/([^/]+)?$ file.php?file=$1&find=$2 [QSA]  
RewriteRule ^file/([^/]+)/([^/]+)/([^/]+)?$ file.php?file=$1&type=$2&find=$3 [QSA]  

我试过了

file_get_contents('http://domain.com/file/invoice/html/1')
file_get_contents('./file/invoice/html/1')

但这并没有带回我能看到的内容。 我已经知道它是"是用户登录检查"这是阻止它,但你可以猜测我不想从文件中删除它。有没有办法做到这一点仍然在那里。这有点阻止它,但我宁愿不删除它

if (!isset($_SESSION['LOGGED_IN'])){
    die(CLOSE_WINDOW);
}elseif(isset($_SESSION['LOGGED_IN']) && $_SESSION['LOGGED_IN'] != TRUE){
    die(CLOSE_WINDOW);
}

我做错了什么,如何解决?

1 个答案:

答案 0 :(得分:2)

您正在尝试使用file_get_contents下载远程文件。这基本上是同一个问题:https://stackoverflow.com/a/3488430/901156

如果您真的希望能够这样做,您必须将PHP配置更新为allow_url_fopen

此外,[出于安全和其他原因]建议使用cURL。