csv読み込み - PHPプロ!Q&A掲示板
$today = date("Y/m/d-H:i");
debug.print $torikomi;
print("<br>");
print "取込日: " . $today . "\n";
define('UPLOAD_DIR','./files/');
if(!isset($_FILES['upfile'])){
die('no upload file');
}
$upload = UPLOAD_DIR.$_FILES['upfile']['name'];
print("<br>");
print "CSVファイル: " . $upload . " を読み込んでいます。\n";
if (is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
if (move_uploaded_file($_FILES["upfile"]["tmp_name"], "files/" . $_FILES["upfile"]["name"])) {
chmod("files/" . $_FILES["upfile"]["name"], 0644);
print("<br>");
print "ファイル " . $_FILES["upfile"]["name"] . " をアップロードしました。\n";
} else {
print("<br>");
print "ファイル " . $_FILES["upfile"]["name"] . " をアップロードできません。\n";
}
}else{
print("<br>");
print "ファイルが選択されていません。\n";
print("<br>");
exit("処理を終了します。");
}
$row = 1;
$handle = fopen("$upload", "r");
while (($data = fgetcsv_reg($handle)) !== false) {
$_enc_to=mb_internal_encoding();
$_enc_from=mb_detect_order();
mb_convert_variables($_enc_to,$_enc_from,$data);
$num = count($data);
echo "<p> $num fields in line $row: </p><br />\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo nl2br($data[$c]) . "<br />\n";
echo "OK";
}
}
fclose($handle);
前ぺージのところで、CSVを input type = fileで選択してもらい、このPHPで
CSVアップロード→読み込みをし、確認として一覧表示して、その内容から次のページへ行きメール送信まで持って行きたいです。
CSVファイルが、SJIS形式でhtmlのcharsetはUTF-8です。
まず、ファイルアップロードはできました。
SJISで一覧表示ではなくUTF-8で一覧表示したいです。
この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。





ページのトップへ


SQLインジェクション対策は時と場合で使う関数が変わります。その時にあったものを使いましょう。