php - php图像和文本上传不起作用
问题描述
我正在尝试使用 php 将一些信息上传到数据库,我已经能够单独上传图像和文本,但不能一起上传(我的目标)。出于某种原因,图像将进入指定的文件夹,但是由于某种原因,信息不会被放入数据库,并不断向我抛出“失败”的 else 语句!我显然是 php 新手,非常感谢您的帮助!这是我的php代码:
<?php
include_once 'dbh.inc.php';
session_start();
if(isset($_POST['upload'])) {
$file = $_FILES['profileup'];
$fileName = $_FILES['profileup']['name'];
$fileTmpName = $_FILES['profileup']['tmp_name'];
$fileSize = $_FILES['profileup']['size'];
$fileError = $_FILES['profileup']['error'];
$fileType = $_FILES['profileup']['type'];
$Newname = $fileName;
$fileExt = explode('.', $fileName);
$fileActualExt = strtolower(end($fileExt));
$allowed = array('jpg', 'jpeg', 'png');
if (in_array($fileActualExt, $allowed)){
if ($fileError === 0){
if ($fileSize < 10000000000){
$filedest = 'postimages/'.$Newname;
$username = $_SESSION[user];
move_uploaded_file($fileTmpName, $filedest);
header("Location: ../UserProfile.php?suc");
$sql = "INSERT INTO posts (img, ext) VALUES ('$filedest', '$fileActualExt');";
$result = mysqli_query($conn, $sql);
if($result !== false) {
exit;
}else{
echo "fail";
}
}else{
echo "your file was to big";
}
}else{
echo "There was an error uploading your file";
}
}else{
echo "you cant upload files of this type";
}
}else{
header("Location: ../UserProfileSetting.php?fail");
}
?>
解决方案
Move your redirection part after you complete your insert query.
The code below will do your trick.
The problem is you r redirecting your page before executing your insert query.
if ($fileSize < 10000000000){
$filedest = 'postimages/'.$Newname;
$username = $_SESSION[user];
move_uploaded_file($fileTmpName, $filedest);
$sql = "INSERT INTO posts (img, ext) VALUES ('$filedest', '$fileActualExt');";
$result = mysqli_query($conn, $sql);
if($result !== false) {
header("Location: ../UserProfile.php?suc");
}else{
echo "fail";
}
}else{
echo "your file was to big";
}
推荐阅读
- python - AttributeError:“PathCollection”对象没有属性“hue”
- python - 从matlab到python的尺寸错误
- python - unittest - 使 setUp() 成为测试数据的唯一真实来源及其对并行测试的影响
- javascript - 有什么方法可以优化有很多孩子的制表树扩展?
- r - 在 R 中比较不同时间段的相同个体
- regex - Flutter:如何指定在电子邮件验证期间出现的确切字符
- unity3d - 在编辑器中自动更改 OnValidate 的最佳替代方案是什么?
- reactjs - 如何在 onClick 上使用函数而不是 onChange?
- javascript - 如何使用 map 函数遍历 reactjs 中的对象列表?
- php - 带有 Symfony 和 PHP-FPM 的 NGINX SSI