2 回答
TA贡献1860条经验 获得超9个赞
您的 PHP 代码和 HTML 中存在多个逻辑错误。
检查表单提交时,您必须检查“上传”(提交按钮的名称)是否在 $_POST 中。
文件上传输入应位于 <form> 标记内。
为文件上传字段设置一个名称,我将其设置为“userImageUpload”,这样您就可以从 PHP 中的 $_FILES 访问它。
这是最终的代码:
<?php
if (!empty($_POST["upload"])) {
if (is_uploaded_file($_FILES['userImageUpload']['tmp_name'])) {
$targetPath = "uploads/" . $_FILES['userImageUpload']['name'];
if (move_uploaded_file($_FILES['userImageUpload']['tmp_name'], $targetPath)) {
$uploadedImagePath = $targetPath;
}
}
}
?>
<img id="userImage" />
<script>
var loadFile = function(event) {
var output = document.getElementById('userImage');
output.src = URL.createObjectURL(event.target.files[0]);
output.onload = function() {
URL.revokeObjectURL(output.src)
} // free memory
};
</script>
<form id="uploadForm" action="" method="post" enctype="multipart/form-data">
<input type="file" accept="image/*" onchange="loadFile(event)" name="userImageUpload">
<input type="submit" name="upload" value="Submit" class="btnSubmit">
</form>
注意:请确保“上传”文件夹已存在并且权限也正确。
TA贡献1812条经验 获得超5个赞
您已将输入放在表单之外,但它应该在其中:
<form id="uploadForm" action="" method="post" enctype="multipart/form-data">
<input type="file" accept="image/*" onchange="loadFile(event)">
<input type="submit" name="upload" value="Submit" class="btnSubmit">
</form>
- 2 回答
- 0 关注
- 87 浏览
添加回答
举报