2

これについて点をつなぐ助けが必要です。スニペットはたくさん出回っていますが、適切なエンド ツー エンドのチュートリアルは見つかりませんでした。

私が構築している単純なカスタム CMS では、エンド ユーザー管理者が他のユーザーの CSV をアップロードするオプションが必要です。PHPMyAdmin またはその他の DB への「直接」アクセスは、私の環境ではオプションではありません。そこで、適切なテーブルにデータを挿入するファイル アップロード フォームを作成しようとしています。

アップロードフォームの作成に関するこのチュートリアルを見つけました-正常に動作しています(ただし、追加の検証/セキュリティを追加したいと思います)。そして、これらのいくつかの投稿に基づいて ( this one のようLOAD DATA INFILEに) 、ループしてfgetcsv何かを解析しようとするよりも、使用する方が理にかなっていると思います(ただし、反対することは自由です)。

これが私の現在のコードです - それは機能していません.ファイルパスだと思います.どのようにフォーマットすればよいですか? _uploads ディレクトリは、このプロセッサ ファイルと同じ場所にあります。

$target_path = "_uploads/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']). 
    " has been uploaded to " . $target_path;
} else{
    echo "There was an error uploading the file, please try again!";
}

$sql = "LOAD DATA INFILE $target_path
        INTO TABLE User
        (UserFirstName, UserLastName)
        FIELDS TERMINATED BY ',' ENCLOSED BY '\"' ESCAPED BY '\"'
        LINES TERMINATED BY '\r\n'
        ";

$result = mysql_query($sql, $connection);

if (mysql_affected_rows() == 1) {
    $message = "The user was successfully updated!";
} else {
    $message = "The user update failed: ";
    $message .= mysql_error(); 
}

echo $message;

まともなチュートリアルへの提案や指針をいただければ幸いです。

4

1 に答える 1