Php fwrite不在foreach内部工作

Php fwrite不在foreach内部工作,php,debugging,Php,Debugging,我使用以下代码获取链接列表: $links=htmlspecialchars($_POST['links']); $ids = explode("\n", str_replace("\r", "", $links)); $ids=array_filter($ids); 当我运行这样一个简单的foreach时: $csv=fopen("php://output", "w"); foreach ($ids as $url) { $line=''; $line="test"; fwrite(

我使用以下代码获取链接列表:

$links=htmlspecialchars($_POST['links']);
$ids = explode("\n", str_replace("\r", "", $links));
$ids=array_filter($ids);
当我运行这样一个简单的foreach时:

$csv=fopen("php://output", "w");
foreach ($ids as $url)
{
    $line='';
$line="test";
fwrite($csv, $line);
}

header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="data.csv";');
fpassthru($csv); //Generate downloadabñe CSV
fclose($csv);
它不起作用。但是,当我像这样手动构造$ID时:

$ids=array();
$ids[0]='example';
代码是有效的。代码在本地工作,但在我们购买的新主机上不工作

我能做什么

附言:如果你能为PHP推荐一个主机,那就太好了。我现在的主机提供商有很多错误

附言:对于你的提问,这里有完整的代码。它在CSV上写入变量“hline”,但不写入变量行:

ini_set('memory_limit', '-1');
require('simple_html_dom.php');
error_reporting(E_ALL); //Error reporting

//Set up csv
$hline='Home Depot URL'.','.'Home Depot Reviews'.','.'Lowes URL'.','.'Best Seller Title'.','.'Sales In Past Two Weeks'.',';
$hline.='Top Seller ID'.','.'eBay Stars Reviews'.PHP_EOL;
$csv=fopen("php://output", "w"); 
fwrite($csv, $hline);

//Get variables from form
$links=htmlspecialchars($_POST['links']);
$ids = explode("\n", str_replace("\r", "", $links));
$ids=array_filter($ids);

if (isset($_POST['snag'])) {
$snag=htmlspecialchars($_POST['snag']); 
}

if (isset($_POST['lowes'])) {
$lowes=htmlspecialchars($_POST['lowes']);
}

$markup0=htmlspecialchars($_POST['markup']);
$markup20=htmlspecialchars($_POST['markup2']);
$soldn=htmlspecialchars($_POST['sold']);

//Start not working foreach

foreach ($ids as $url)
{
    $line='';
$line="test";
fwrite($csv, $line);
}

你犯了什么错误?服务建议与SO无关。请尝试使用AWS托管。另外,将
标题(“…”)
行放在foreach循环上方。您的问题令人困惑。您的原始代码在本地工作,还是您修改的代码?另外,新主机的错误是什么?为什么要循环数组并向文件写入静态“测试”?用代码编辑你的问题,以反映你实际想做的事情。嘿!一点也不出错,CSV会触发下载,但它是空的。原始脚本不起作用,所以我正在测试它的简化版本。我会用全部代码更新答案,这样你就可以检查它了。