0

HTMLファイルのフォームからPHPのfputcsv関数を使用して、名前とメールアドレスを含むCSVファイルを生成しようとしています。しかし、変数の値を配列に渡すことができず、エラーメッセージが返されます。

私の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 )に記載されているように

この関数は、PHP5.3.0で非推奨になりました。この機能に依存することは強くお勧めしません。

Deprecated=>この関数はPHPバージョンでは使用できなくなりました。

@Felixが提案したように、explode()代わりに使用して、explodesplit()について読んでください: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 に答える