我目前有一个表格,客户服务代表可以在其中插入通话记录。我想要一些允许用户选择在表单提交时将上传到我的数据库的文件的东西。任何人都可以提供一个示例或资源来引导我走向正确的方向吗?
问问题
1189 次
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";
}
记住位置
然后将文件位置放在您的数据库表中(使用mysqli
(文档)的示例,因为mysql
(文档)吸引了nerd-rage):
$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 回答