fwrite在foreach内部不起作用

时间:2018-08-23 16:17:15

标签: 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($csv, $line);
}

header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="data.csv";');
fpassthru($csv); //Generate downloadabñe CSV
fclose($csv);

它不起作用。但是,当我像这样手动构造$ ids时:

$ids=array();
$ids[0]='example';

该代码有效。该代码在本地有效,但不能在我们购买的新主机上使用。

我该怎么办?

P.S:如果您可以建议为PHP提供托管,那就太好了。我目前的托管服务提供商出现很多错误。

P.S:对于您提出的要求,请在此处输入完整的代码。它将变量“ hline”写入CSV而不是变量行:

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);
}

0 个答案:

没有答案