我正在尝试为图像添加一个类别。在我的代码中一切都很好。但是图像没有移动到image文件夹。我在数据库列中看到文件名,那么我的php代码中有什么问题?
我没有看到任何明显的语法错误:
<?php
require('top.inc.php');
$categories = '';
$msg = '';
if (isset($_GET['id']) && $_GET['id'] != '') {
$id = get_safe_value($link, $_GET['id']);
$res = mysqli_query($link, "select * from categories where id='$id'");
$check = mysqli_num_rows($res);
if ($check > 0) {
$row = mysqli_fetch_assoc($res);
$categories = $row['categories'];
} else {
header('location:categories.php');
die();
}
}
if (isset($_POST['submit'])) {
$filename = $_FILES["uploadfile"]["name"];
$tempname = $_FILES["uploadfile"]["tmp_name"];
$folder = "image/" . $filename;
$categories = get_safe_value($link, $_POST['categories']);
$res = mysqli_query($link, "select * from categories where categories='$categories'");
$check = mysqli_num_rows($res);
if ($check > 0) {
if (isset($_GET['id']) && $_GET['id'] != '') {
$getData = mysqli_fetch_assoc($res);
if ($id == $getData['id']) {
} else {
$msg = "Categories already exist";
}
} else {
$msg = "Categories already exist";
}
// Now let's move the uploaded image into the folder: image
if (move_uploaded_file($tempname, $folder)) {
$msg = "Image uploaded successfully";
} else {
$msg = "Failed to upload image";
}
}
if ($msg == '') {
if (isset($_GET['id']) && $_GET['id'] != '') {
mysqli_query($link, "update categories set categories='$categories' where id='$id'");
} else {
mysqli_query($link, "insert into categories(categories,filename,status) values('$categories','$filename','1')");
}
header('location:categories.php');
die();
}
}
?>
对不起,我不得不修改我的帖子。basename函数几乎不是问题,考虑到上传的目的,您的SQL代码看起来足够好。根据您所陈述的内容和视觉上的步进代码,似乎该操作在"if ($id == $getData['id'])块中触发,并且由于您在数据库中看到文件名,因此返回调用if($msg == ") else块。
希望我没有破坏你的意图,但我也在努力弄清楚这件事。
保存你的文件并尝试:
<?php
require('top.inc.php');
$categories = '';
$msg = '';
if (isset($_GET['id']) && $_GET['id'] != '') {
$id = get_safe_value($link, $_GET['id']);
$res = mysqli_query($link, "select * from categories where id='$id'");
$check = mysqli_num_rows($res);
if ($check > 0) {
$row = mysqli_fetch_assoc($res);
$categories = $row['categories'];
} else {
header('location:categories.php');
die();
}
}
if (isset($_POST['submit'])) {
$filename = $_FILES["uploadfile"]["name"];
$tempname = $_FILES["uploadfile"]["tmp_name"];
$folder = "image/" . $filename;
$categories = get_safe_value($link, $_POST['categories']);
$res = mysqli_query($link, "select * from categories where categories='$categories'");
$check = mysqli_num_rows($res);
if ($check > 0) {
if (isset($_GET['id']) && $_GET['id'] != '') {
$getData = mysqli_fetch_assoc($res);
if ($id == $getData['id']) {
if ($msg == '') {
mysqli_query($link, "update categories set categories='$categories' where id='$id'");
header('location:categories.php');
mysqli_close($link);
die();
} else {
// Now let's move the uploaded image into the folder: image
if (move_uploaded_file($tempname, $folder)) {
$msg = "Image uploaded successfully";
mysqli_query($link, "insert into categories(categories,filename,status) values('$categories','$filename','1')");
header('location:categories.php');
mysqli_close($link);
die();
} else {
$msg = "Failed to upload image @move_upload_file";
die($msg);
}
}
}else{
$msg = "Categories already exist @getData ";
die($msg);
}
} else {
$msg = "Categories already exist @getID";
die($msg);
}
}
}
?>