PHP,MySQL LOAD DATA LOCAL INFILE {$ _FILES [file] [name]}作为变量文件名

时间:2012-07-22 16:48:05

标签: php mysql variables load file-io

我正在创建一个导入文件并创建表的函数,并将其命名为$ 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();
?>

** * ** * ** * 的** * ** * 错误 * ** * < / EM> ** * ** * ** array(1){[“file”] =&gt; array(5){[“name”] =&gt; string(14)“emailsTest.txt”[“type”] =&gt; string(10)“text / plain”[“tmp_name”] =&gt; string(14)“/ tmp / phpW7Cu2I”[“error”] =&gt; int(0)[“size”] =&gt; int(61)}} 注意:使用未定义的常量文件 - 在第23行的/home/nyctelecomm.com/www/mail/import.php中假定为'file'

注意:使用未定义的常量名称 - 在第23行的/home/nyctelecomm.com/www/mail/import.php中假设为“name” string(178)“LOAD DATA LOCAL INFILE emailsTest.txt INTO TABLE(3_emailsTest.txt)FIELDS终止','''''''''''''''''''''''''''''''在你的SQL语法中;检查与MySQL服务器版本对应的手册,以便在'emailsTest.txt INTO TABLE(3_emailsTest.txt)FIELDS TERMINATED BY','OP'第1行附近使用正确的语法

0 个答案:

没有答案