首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不显示/Apache 500错误的php数组中的.txt文件

不显示/Apache 500错误的php数组中的.txt文件
EN

Stack Overflow用户
提问于 2013-08-01 15:03:48
回答 2查看 174关注 0票数 0

我正在尝试阅读在这里找到的文本文件:http://www1.m2.mediacat.ne.jp/binews/use/bia13.txt

这是一个标签分隔列表的短波无线电广播时间表,我想要填充到一个MySQL数据库。我可以下载它并把它放到一个数组中。一个var_dump显示一切都在那里。然而..。

代码语言:javascript
复制
$schedule=file('schedule.txt');
foreach($schedule as $line)
{
   echo $line.'<br>';
}

只显示文件的最后一行。

代码语言:javascript
复制
for ($i; $i<=count($schedule);$i++)
{
   echo $schedule[$i];
}

生成Apache 500内部服务器错误(脚本头过早结束)。

但是,如果我这么做:

代码语言:javascript
复制
echo $schedule[0];

它正确地显示了这一行。

因此,我假设数组中的某个地方是一些无法打印或控制的字符,这些字符使Apache非常适合。

我所做的是:

代码语言:javascript
复制
$bigstring=json_encode($schedule);
$schedule=$json_decode($bigstring);

它允许我在$schedule上做一个预测,然后打印出来。

我已经尝试过:

代码语言:javascript
复制
echo utf8_decode($line).'<br>';

这让我可以运行一个foreach,它会显示这些行,但是这两个“工作”解决方案都去掉了制表符/间距,我需要将这些行分解成字段。

对于如何以不同的方式将其加载到数组中,我可以对其做一个预测并对其进行解析,或者是否有一个好的方法来显示哪些控制/字符代码可能导致崩溃/打嗝?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-01 15:19:43

我可能遗漏了一些东西,但是在for循环中,难道不应该将$i初始化为一个值吗?下列操作使我能够显示文件的内容:

代码语言:javascript
复制
$schedule = file("bia13.txt");
$count = count($schedule);
echo "<pre>";
for ($i = 0; $i < $count; $i++) {
    echo $schedule[$i];
}    
echo "</pre>";

每当PHP遇到致命错误时,我的500主机就会给我一个Apache 500错误。这可能就是你的错误的来源。

票数 1
EN

Stack Overflow用户

发布于 2013-08-01 15:21:04

我觉得编码没什么不对的。这可能是由于Apache服务器配置不支持的设置或触发器操作造成的。

所以你需要编辑htaccess文件。

https://www.dokuwiki.org/faq:error500

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17997695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档