我想打电话给' phpControls.php'从home.html将浏览的图像上传到所需的文件夹。我在Chrome中检查了该页面,它显示上传按钮没有调用php文件。
HTML代码如下:
<form method="post" enctype="multipart/form-data" action="phpControls.php">
<input type="file" name="browseFile" id="browseFile" accept="image/*" onchange="loadFile(event)"
style="width: 50%; margin-top: 1%"
class="btn btn-info btn-lg" > <!--style="opacity: 0"-->
<script>
var loadFile = function(event) {
var output = document.getElementById('preview');
output.src = URL.createObjectURL(event.target.files[0]);
};
</script>
<input type="submit" id="submitBtn" name="submitBtn" value="Upload" class="btn btn-info btn-lg"
style="width: 50%; margin-top: 1%">
</input>
</form>
phpControls.php代码如下:
<?php
echo "Enter php";
$target_dir = "SharedFolder/";
$target_file = $target_dir . basename($_FILES["browseFile"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["browseFile"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
echo "Exit php";
?>
在php.ini中file_upload = on。
我没有得到错误。
请建议。提前致谢。
答案 0 :(得分:0)
您的PHP正在寻找错误的值。您的HTML按钮设置为name="submitBtn"
,当您使用{{1}时,您在PHP中选择的是name属性}。
所以你需要改变这个:
$_POST["submit"]
对此:
if(isset($_POST["submit"])) {
不确定这是否是唯一的问题,但它至少应该让您的代码运行。 :)
答案 1 :(得分:0)
最有可能唯一的原因是isset函数检查了错误的值。 将您的phpControls.php代码替换为以下内容。
<?php
echo "Enter php";
$target_dir = "SharedFolder/";
$target_file = $target_dir . basename($_FILES["browseFile"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submitBtn"])) {
$check = getimagesize($_FILES["browseFile"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
echo "Exit php";
?>