在执行下面的方框代码:

foreach($eventfiles as $eventfile)
{
    if($eventfile['filename'])
    { 
        $file = $eventfile['filepath'];
        // Open File
        if( !($fp = fopen($file, "r")))
        {
            echo '<br>CAN NOT READ FILE.';
            exit;
        }
        // Read data from the file into $data
        $data = "";
        while (!feof($fp)) $data .= fread($fp,1024);
        query("update event_rtab set html = '".escape($data)."' where id = {$eventfile[id]}");
    }
    if($eventfile['eventType']=='email')
    {
        query("INSERT INTO event_email_rtab (event_id,subject) values ($eventfile[id],'".escape($eventfile[email_subject])."')");
    }
}

脚本失败以下错误:

fopen(test.html) [功能。fopen]:未能打开 流:重定向限制达到, 中止在 /data/www/example.com/public/test.php 在线843

是什么原因导致这种误差和如何我能纠正它?

有帮助吗?

解决方案

哪里有文件,位于您试图打开?是他们的本地文件系统或者是你想要访问它们通过HTTP(S)?

如果你使用的一些网络包装协议后,这一错误是最有可能与太多的(HTTP的情况HTTP(S)协议)重定向的方式,从脚本到你想要的文件开放。的 默认的重新定向的限制应为20.作为20定向都相当多,可能会有一些错误,在文件本身(例如导致网络服务器上的另一端做一些拼写检查-重定向的)或者其他的服务器是错误配置的或存在一些安全措施,或者...

如果你觉得有必要延长20定向您可以使用一流的上下文。

$context = array(
    'http'=>array('max_redirects' => 99)
);
$context = stream_context_create($context);
// hand over the context to fopen()
$fp = fopen($file, 'r', false, $context);
// ...

请见:

其他提示

这是非常有可能是由于你试图打开试图打开另一个文件,正是如此深远重定向的限制文件。

编辑:当我说有可能的,我的意思是可能会导致错误,这可能是这种情况。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top