-1

現在、カスタマー サービス担当者が通話ログを挿入できるフォームがあります。フォームの送信時にデータベースにアップロードされるファイルをユーザーが選択できるようにしたいと考えています。誰かが私を正しい方向に導くかもしれない例やリソースを提供できますか?

4

2 に答える 2

0

POST を使用したファイルのアップロード

ファイルをサーバーに保存し、実際にはデータベースに配置しないことを想定しています (大量のファイルを BLOB としてデータベースに挿入すると、パフォーマンスが大幅に低下します)。

フロントエンド

つまり、フォームにアップロード フィールドを作成します。

<form enctype="multipart/form-data" action="__URL__" method="POST">
    Send this file: <input name="call-log" type="file" />
    <input type="submit" value="Upload Log" />
</form>

ファイルの保存

次に、アップロードを処理します。

$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['call-log']['name']);

if (move_uploaded_file($_FILES['call-log']['tmp_name'], $uploadfile)) {
    echo "File is valid, and was successfully uploaded.\n";
} else {
    echo "Possible file upload attack!\n";
}

場所を思い出す

次に、データベース テーブルにファイルの場所を入力します (( documentation ) を使用する例は、( documentationmysqli )オタクの怒りを引き付けるためです) 。mysql

$filename = basename($_FILES['call-log']['name']);
$mysqli   = new mysqli('localhost','some_user','some_password','database');
$stmt     = $mysqli->prepare("INSERT INTO logs (file-location) VALUES (?)");
$stmt->bind_param("s", $filename);
$stmt->execute;

PHP ドキュメントからアドホックされた例。

于 2013-08-07T14:04:13.677 に答える
-1

次のhtmlフォーム入力を確認できます

<input type="file"> 
于 2013-08-07T14:02:41.053 に答える