これについて点をつなぐ助けが必要です。スニペットはたくさん出回っていますが、適切なエンド ツー エンドのチュートリアルは見つかりませんでした。
私が構築している単純なカスタム 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;
まともなチュートリアルへの提案や指針をいただければ幸いです。