php MySQL CSVアップロード


 

 

csv.php
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=EUC-JP”>
<title>アップロードCSV</title>
</head>
<body>
<FORM enctype=”multipart/form-data”action=”csv.php”method=”POST” >
<INPUT type=”hidden” name=”MAX_FILE_SIZE” value=”200000″>
アップロードするファイル:
<INPUT name=”upfile” type=”file” >
<INPUT type=”submit” value=”CSV アップロードする”>
</FORM>
<?php
// データベース
$link mysql_connect(‘localhost’‘mysql_user’‘mysql_password’);
mysql_select_db(‘dbname’, $link);
// File Upload
if (is_uploaded_file($_FILES[“upfile”][“tmp_name”])) {
if (move_uploaded_file($_FILES[“upfile”][“tmp_name”], “csv/” . $_FILES[“upfile”][“name”])) {
chmod(“csv/” . $_FILES[“upfile”][“name”], 0777);
$upload = “./csv/”.$_FILES[“upfile”][“name”];
$res = $upload;
if ( $res ) {
$fp = fopen($upload, “r”);
while( ! feof($fp) ) {
$csv = fgets($fp);
$csv = trim($csv,’\”‘);
$csv = mb_convert_encoding($csv, “EUC-JP”, “shift_jis”);
$csv = str_replace(‘”‘, ”, $csv);
$csv_array = explode(“,”,$csv);
//$csv_array = explode(“””,$csv);
//DB
mysql_query(“SET NAMES ujis”)
or die(“can not SET NAMES ujis”);
$sql = sprintf(
“INSERT IGNORE INTO test (test1,test2,test3)
VALUES(‘%d’,’%s’,’%s’)”,
$csv_array[0],$csv_array[1],$csv_array[2]);
mysql_query($sql);
}
echo $_FILES[“upfile”][“name”] . “をアップロードしました。”.$upload;
if (file_exists($upload)) {
unlink(“$upload”);
}
}
} else {
echo “ファイルをアップロードできません。”;
}
} else {
echo “ファイルが選択されていません。”;
}
?>

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です