php - 如何以相同的形式包含 2 个文件上传,然后将它们插入 PHP 中的 MYSQL 数据库?
问题描述
我想知道这一点,因为我已经尝试过了,但它没有用。我没有收到任何错误,但数据没有添加到 MYSQL 表中,所以我来到这里希望找出问题所在,因为我无法给出任何答案。这是代码:
if ($resultCheck > 0) {
echo "You have already created a BSW!";
} else {
echo
'<form action="" method="post" enctype="multipart/form-data">
<input style="margin-left: 10px; margin-top: 5px;" type="text" name="name" placeholder="BSW Name"><br>
<textarea style="margin-left: 10px; margin-top: 5px; width: 200px; height: 80px;" type="text" name="powers" placeholder="BSW Powers (seprated by commas)"></textarea><br>
<textarea style="margin-left: 10px; margin-top: 5px; width: 200px; height: 80px;" type="text" name="weaknesses" placeholder="BSW Weaknesses (seprated by commas)"></textarea><br>
<textarea style="margin-left: 10px; margin-top: 5px; width: 250px; height: 80px;" type="text" name="about" placeholder="BSW About (seprated by commas)"></textarea><br>
<strong>Are you currently available?</strong>
<select name="available">
<option name="yes">yes</option>
<option name="no">no</option>
</select><br><br>
<strong>Icons bigger than 100x100 will be rescaled</strong><br>
<input style="margin-left: 10px; margin-top: 5px;" type="file" name="icon" multiple><br>
<strong>Demonstration (Only supports swf and mp4 filetypes): </strong><br>
<input style="margin-left: 10px; margin-top: 5px;" type="file" name="demo" multiple><br><br>
<strong>Demo Filetype (Select none if you do not have a demo)</strong><br>
<select name="filetype">
<option name="mp4">mp4</option>
<option name="swf">swf</option>
<option name="none">none</option>
</select><br><br>
<button style="margin-left: 10px; margin-top: 5px;" type="submit" name="bsw">Submit BSW</button><br>
</form>';
}
} else {
echo "Please login.";
}
if (isset($_POST['bsw'])) {
$name1 = str_replace("<","<",$_POST['name']);
$name = mysqli_real_escape_string($conn, $name1);
$powers1 = str_replace("<","<",$_POST['powers']);
$powers = mysqli_real_escape_string($conn, $powers1);
$weaknesses1 = str_replace("<","<",$_POST['weaknesses']);
$weaknesses = mysqli_real_escape_string($conn, $weaknesses1);
$about1 = str_replace("<","<",$_POST['about']);
$about = mysqli_real_escape_string($conn, $about1);
$available1 = str_replace("<","<",$_POST['available']);
$available = mysqli_real_escape_string($conn, $available1);
$iconDir = "files/uploads/bsw/icons/";
$iconName = basename($_FILES['icon']['name']);
$iconTemp = $_FILES['icon']['tmp_name'];
$iconError = $_FILES['icon']['error'];
$iconType = explode('.', $iconName);
$iconActualType = strtolower(end($iconType));
$iconAllowed = array('png', 'jpeg', 'jpg', 'gif');
$owner = $user->data['username'];
$ownerId = $user->data['user_id'];
$allowTypes = array('jpg','png','jpeg','gif');
$demoDir = "files/uploads/bsw/demos/";
$demoName = basename($_FILES['demo']['name']);
$demoTemp = $_FILES['demo']['tmp_name'];
$demoError = $_FILES['demo']['error'];
$demoType = explode('.', $demoName);
$demoActualType = strtolower(end($demoType));
$demoAllowed = array('swf', 'mp4');
if (empty($name) || empty($powers) || empty($weaknesses) || empty($about) || empty($iconName)){
echo '<p style="color: red; margin-left: 10px; margin-top: 5px;">Please Fill in All Fields</p>';
} else {
if(!in_array($iconActualType, $iconAllowed)) {
if($iconError === 0) {
$iconNameNew = uniqid('', true).".".$iconActualType;
$iconDestination = $iconDir . $iconNameNew;
move_uploaded_file($iconTemp, $iconDestination);
if(!in_array($demoActualType, $demoAllowed)) {
if($fileError === 0) {
$demoNameNew = uniqid('', true).".".$demoActualType;
$demoDestination = $demoDir . $demoNameNew;
move_uploaded_file($demoTemp, $demoDestination);
}
if (mysqli_query($conn, "INSERT INTO `bsw`
(`bsw_name`, `bsw_about`, `bsw_points`,
`bsw_demo_location`, `bsw_power`,
`bsw_weaknesses`, `bsw_icon_location`,
`bsw_availability`, `bsw_owner`,
`bsw_owner_id`, `bsw_type`)
VALUES('$name', '$about', '0',
'$demoDestination', '$powers', '$weaknesses',
'$iconDestination', '$available',
'$owner', '$ownerId', '$demoFiletype')")) {
echo '';
} else {
echo "Error: <br>" . mysqli_error($conn);
}
}
}
}
}
}
?>
在此先感谢,任何和所有的帮助表示赞赏。
解决方案
推荐阅读
- python - 为什么我的数独求解器返回一个空的数独网格?
- python - Python:获取子进程 pid 并添加到具有父进程 id 的字典
- react-native - 如何在反应导航 5 中使用上下文提供程序包装多个堆栈屏幕?
- visual-studio - 在另一台电脑上运行时 Visual Studio 出现问题
- ios - 获取 WKwebsiteDataSource 的泄漏
- python - 选择按值加权的行索引
- android - ScrollView 和 WindowInsets
- mysql - dbeaver 未知系统变量 'query_cache_size'
- javascript - 如何使用 jquery .each() 添加单个事件侦听器?
- python-3.x - YouCompleteMe (ycm),无法构建正则表达式模块