ファイルをインポートしてテーブルを作成し、$memberID_$filename という名前を付ける関数を作成しています
ファイル名を変換しようとすると、チョークします。.txtが原因だと思っていますが、よくわかりません。
23行目が問題です。
<?php
var_dump($_FILES);
//db connection
require 'dbConnect.php';
//session file
require_once('../auth.php');
function uploadList(){
//var_dump($_FILES);
if ($_FILES["file"]["type"] == "text/plain")
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
dbConnect();
mysql_select_db('mailList') or die(mysql_error());
//$file=''
$file = $_FILES['file']['name'];
$presql = "CREATE TABLE IF NOT EXISTS (`$_SESSION[SESS_MEMBER_ID]_$file`)";
$sql = <<<EOF
LOAD DATA LOCAL INFILE {$_FILES[file][name]}
INTO TABLE (`$_SESSION[SESS_MEMBER_ID]_$file`)
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\\'
LINES TERMINATED BY "\\r\\n"
IGNORE 1 LINES
EOF;
mysql_query($presql);
mysql_query($sql);
var_dump($sql);
if(mysql_error())
{
echo(mysql_error());
}
else
{
print('Import of campaign emails sucessfull into mysql table.');
}
}
}
else
{
print('Invalid file type. Please make sure it is a text file.');
}
}
//var_dump($_FILES);
uploadList();
?>
** * ** * ** * ** * ** *エラー* ** * ** * ** * ** array(1) { ["file"]=> array(5) { ["name"] => string(14) "emailsTest.txt" ["type"]=> string(10) "text/plain" ["tmp_name"]=> string(14) "/tmp/phpW7Cu2I" ["error"]= > int(0) ["size"]=> int(61) } } 注意: 未定義の定数ファイルの使用 - 23 行目の /home/nyctelecomm.com/www/mail/import.php に「ファイル」を想定
注意: 未定義の定数名の使用 - /home/nyctelecomm.com/www/mail/import.php の 23 行目の string(178) で「名前」を想定 " LOAD DATA LOCAL INFILE emailTest.txt INTO TABLE ( 3_emailsTest.txt
) FIELDS TERMINATED BY ' ,' OPTIONALLY ENCLOSED BY '\' LINES TERMINATED BY "\r\n" IGNORE 1 LINES" SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルで、1 行目の 'emailsTest.txt INTO TABLE ( 3_emailsTest.txt
) FIELDS TERMINATED BY ',' OP'付近で使用する正しい構文を確認してください。