我正在创建一个导入文件并创建表并将其命名为 $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 emailsTest.txt INTO TABLE ( 3_emailsTest.txt
) FIELDS TERMINATED BY 中假定为“名称” ,' OPTIONALLY ENCLOSED BY '\' LINES TERMINATED BY "\r\n" IGNORE 1 LINES" 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以3_emailsTest.txt
在第 1 行的 'emailsTest.txt INTO TABLE ( ) FIELDS TERMINATED BY ',' OP'附近使用正确的语法