0

我正在尝试从 HTML 文件中的表单生成一个包含名称和电子邮件地址的 CSV 文件,并使用 PHP fputcsv 函数。但我无法将变量的值传递给数组,它返回错误消息。

我的 PHP 文件:

<?php 
$name = $_GET["name"];
$email = $_GET["email"];

$list = array
(
'$name', '$email',
);

$file = fopen("list.csv","w");

foreach ($list as $line)
  {
  fputcsv($file,split(',',$line));
  }

fclose($file);
?>

错误信息:

Deprecated: Function split() is deprecated in F:\xampp\htdocs\test.php on line 22

Deprecated: Function split() is deprecated in F:\xampp\htdocs\test.php on line 22

我的第 22 行包含:

fputcsv($file,split(',',$line));

如果我只在数组中使用纯文本,我不会收到上述错误。我究竟做错了什么?

4

3 回答 3

0

单引号不会用字符串中的值替换您的变量。

你可以使用双引号

$list = array
(
"$name", "$email",
);

并且由于这些字符串仅包含您的变量,因此只需一起跳过引号

$list = array
(
$name, $email,
);

有关更多文档,请参阅文档

于 2012-08-27T17:25:29.907 回答
0

错误消息告诉您出了什么问题:该函数split()已弃用,这意味着它已过时(旧的,将在 PHP 的未来更新中停用)并且 PHP 会警告您不要使用它。

PHP 的在线手册可split()帮助您找到其他功能来实现您想要的功能,例如explode()preg_split().

于 2012-08-27T17:26:19.450 回答
0

正如您的错误和该函数的 php 手册中所述, http: //php.net/manual/en/function.split.php

自 PHP 5.3.0 起,该函数已被弃用。强烈建议不要依赖此功能。

Deprecated=> 此功能不再适用于您的 PHP 版本。

正如@Felix 建议的那样,使用explode()而不是split(),阅读爆炸:http ://php.net/manual/en/function.explode.php

所以,而不是:

foreach ($list as $line)
  {
  fputcsv($file,split(',',$line));
  }

做:

foreach ($list as $line)
  {
  fputcsv($file,explode(',',$line));
  }
于 2012-08-27T17:27:22.973 回答