首先,如果下面的代码是做我想做的事情的正确方法,我是一个初学者和 idk,但这是我认为我可以做到这一点的方式(使用表单传递一些值)。
因此,我使用以下代码让用户选择是否要删除文件夹中的文件,同时上传同名文件。第一个“move_uploaded_file”的参数与第二个“move_uploaded_file”具有相同的内容(这就是我回显它们的原因)并且它工作得很好,但它适用于与上传文件同名的文件。
那么有什么想法我的错误是什么?删除(取消链接)正在工作,但是当我单击“是”按钮时,它没有上传新文件。
如果您需要更多信息,请告诉我,如果这是一个愚蠢的问题,我很抱歉,但我真的不明白出了什么问题。
谢谢是提前!
<?php
$target_dir = "wp-content/themes/astra-child/myuploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
if (file_exists($target_file)) {
echo "Already exists.<br>";
echo "Do you want to replace the file?";
?>
<form action="" method="post">
<input type="hidden" id="myfilename" name="myfilename" value="<?php echo ($_FILES["fileToUpload"]["tmp_name"]);?>">
<input type="hidden" id="replacefilename" name="replacefilename" value="<?php echo basename($_FILES["fileToUpload"]["name"]);?>">
<input type="submit" value="Yes" name="btn-replace-yes">
<input type="submit" value="No" name="btn-replace-no">
</form>
<?php
if (isset($_POST['btn-replace-yes'])) {
$replacelink = $target_file . $_POST["replacefilename"];
unlink(realpath("$replacelink"));
$target = $target_file . $_POST["replacefilename"];
$last = $_POST["myfilename"];
$last = str_replace('\\\\', '\\', $last);
echo $last;
?><br><?php
echo $target;
if (move_uploaded_file($last, $target)){
$uploadOk = 0;
echo "The file with name «". htmlspecialchars( basename( $_FILES["fileToUpload"]["name"])). "» is inserted in folder successfully!";
$uploadOk = 0;
mysqli_close($link);
} else {
echo "Failure.";?>
<button onclick="window.location.href='secretary-panel';">
Go Back
</button>
<?php
}
$uploadOk = 0;
}else if (isset($_POST['btn-replace-no'])){
$uploadOk = 0;
header("location:../secretary-panel/");
}
$uploadOk = 0;
}
?>
<?php
$target_dir = "wp-content/themes/astra-child/myuploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
// if everything is ok and we dont have the same name of the files, try to upload
if ($uploadOk == 1) {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)){
echo $_FILES["fileToUpload"]["tmp_name"];?><br><?php
echo $target_file;
} else {
echo "Failure.";?>
<button onclick="window.location.href='secretary-panel';">
Go Back
</button>
<?php
}
}
?>