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 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'付近で使用する正しい構文を確認してください。

4

0 に答える 0