1

我正在创建一个导入文件并创建表并将其命名为 $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'附近使用正确的语法

4

0 回答 0