提前感谢您的帮助,我需要制作一个系统,我可以将文件上传并更新到我的数据库记录中。为此我做了这个代码,但由于某种原因我似乎无法看到我做错了我可以更新“状态等”但文件没有上传到我想要的目录,我的数据库中的记录也丢失了,所以其余的工作正常,除了文件本身,没有得到更新。这是我的代码,再次提前感谢!
<?php
if(isset($_POST['submit_btn']))
{
if(move_uploaded_file($_FILES['Filename']['tmp_name'], $target)) {
require 'modules/conn.php';
$target = "../account-files/";
$target = $target . basename( $_FILES['Filename']['name']);
}
$id = $_REQUEST['id'];
$status = $_REQUEST['status'];
$counts = $_REQUEST['counts'];
$Filename=basename( $_FILES['Filename']['name']);
$query = mysqli_query($conn,"UPDATE files SET id ='".$_POST['id']."', status ='".$_POST['status']."', counts ='".$_POST['counts']."', Filename ='".$_POST['Filename']."' WHERE id = '".$id."'") or die(mysqli_error($conn));
header("location: ../my-account/");
}
?>
其他所有内容都在我的数据库中更新,但正如我所说,文件和文件名的记录没有,也没有上传到我的目录。请帮助我,非常感谢一个例子。
更新的代码我可以将记录存入数据库,但仍然无法上传到目录中。
$target = "../account-files/";
$target = $target . basename( $_FILES['Filename']['name']);
if(isset($_POST['submit_btn']))
{
move_uploaded_file($_FILES['Filename']['tmp_name'], $target);
require 'modules/conn.php';
$id = $_REQUEST['id'];
$status = $_REQUEST['status'];
$counts = $_REQUEST['counts'];
$Filename=basename( $_FILES['Filename']['name']);
$query = mysqli_query($conn,"UPDATE files SET id = $id, status = '$status', counts = $counts , Filename = '$Filename' WHERE id = '$id'") or die(mysqli_error($conn));
header("location: ../my-account/");
}
这最后一个解决方案是正确的,我希望我也可以为其他成员做出贡献,请在正确回复我的帖子后看到解决方案学分,那家伙摇滚!大拇指那么错误是什么?简单,我的路径是错的......
这个错了:
$target = "../account-files/";
这是正确的并且修复了所有
$target = "account-files/";
答案 0 :(得分:0)
你犯了一些错误:
我
if(isset($_POST['submit_btn'])){
$target = "../account-files/";
$fname = $_FILES['filename']['name'];
if(!empty($target) && !empty($fname)){
move_uploaded_file($_FILES['filename']['tmp_name'], $target.$fname);
}
}
答案 1 :(得分:0)
你真的有POST [&#39;文件名&#39;]?我认为你应该把变量放在你的查询而不是.POST
尝试以下代码:
if(isset($_POST['submit_btn']))
{
$target_dir = "../account-files/";
$target_file = $target_dir . basename( $_FILES['Filename']['name']);
move_uploaded_file($_FILES['Filename']['tmp_name'], $target_file);
require 'modules/conn.php';
$id = $_REQUEST['id'];
$status = $_REQUEST['status'];
$counts = $_REQUEST['counts'];
$Filename=basename( $_FILES['Filename']['name']);
$query = mysqli_query($conn,"UPDATE files SET id = $id, status =
'$status', counts = $counts , Filename = '$Filename' WHERE id =
'".$id."'") or die(mysqli_error($conn));
header("location: ../my-account/");
}
另请确保您的表单标记上有enctype="multipart/form-data"
。