我上传的html页面只有两件事:文件打开按钮和提交。获取打开的对话框没问题,但是在用户单击“确定”后,我在哪里可以找到路径字符串?
</td>
<td style="width: 109.8pt; padding: .75pt .75pt .75pt .75pt" width="146">
<input id="file" name="file" type="file">
<p class="MsoNormal"> </p>
</td>
下面的php文件是附带开发工具,还是默认Windows javaScrpt的一部分?
行动= “upload.php的”
答案 0 :(得分:0)
Pekka是正确的,这与asp.net或javascript无关。当您提交文件上传(无论是在asp.net应用程序还是php)时,会有一些标准的响应信息,其中一些将是所选文件的详细信息(文件名等)。
快速谷歌搜索带来了几个开源PHP上传实用程序,以及文件上传DOM引用,例如:
我建议您编辑问题以排除asp.net标记并将其替换为PHP。这样,更多的PHP开发人员会看到你的问题。
答案 1 :(得分:0)
请尝试以下代码
你必须制作一个&#34;图像&#34;当前目录中的文件夹并生成两个文件: 1:Index.php 2:upload.php
您还可以在成功中获取图像名称,该名称可用于在数据库中保存图像名称。
1:Index.php
<html>
<head>
<title>
</title>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" >
var imgName = "";
$(function () {
$('form').on('submit', function (e) {
e.preventDefault();
$.ajax({
url: "upload.php",
type: "POST" ,
data: new FormData(this),
contentType: false,
cache: false,
processData: false,
success: function (data) {
data = JSON.parse(data);
imgName = data.path;
var pic = imgName;
},
error: function () {}
});
});
});
</script>
</head>
<body>
<form enctype="multipart/form-data">
<input type="file" name="pic" id="pic">
<br>
<input name="submit" type="submit" value="Submit">
</form>
</body>
</html>
2:Upload.php
<?php
if (is_array($_FILES)) {
if (is_uploaded_file($_FILES['pic']['tmp_name'])) {
$sourcePath = $_FILES['pic']['tmp_name'];
$targetPath = "./images/" .time(). $_FILES['pic']['name'];
if (move_uploaded_file($sourcePath, $targetPath)) {
$imgPath['path']=$targetPath;
echo json_encode($imgPath);
}
}
}