Can';在php上不显示上传文件
更新:好的,谢谢你的帮助,我设法用一个简单的表单来显示图片(稍后会有视频),但我仍然坚持使用ajax。。。下面是我对ajax的编码尝试(出于某种原因,它不读取回音),而在最远端是我的简单编码形式 test.php代码:Can';在php上不显示上传文件,php,ajax,Php,Ajax,更新:好的,谢谢你的帮助,我设法用一个简单的表单来显示图片(稍后会有视频),但我仍然坚持使用ajax。。。下面是我对ajax的编码尝试(出于某种原因,它不读取回音),而在最远端是我的简单编码形式 test.php代码: <input name="file" id="file" type="file" /> <br /><br /> <script> var fileInput = document.querySelector('#file')
<input name="file" id="file" type="file" />
<br /><br />
<script>
var fileInput = document.querySelector('#file')
fileInput.onchange = function() {
var xhr = new XMLHttpRequest();
xhr.open('POST', 'test2.php');
xhr.upload.onprogress = function(e) {
progress.value = e.loaded;
progress.max = e.total;
};
xhr.onload = function() {
var uploadStatus = document.getElementById("finish");
document.getElementById('finish').innerHTML = 'Upload done !';
};
var form = new FormData();
form.append('file', fileInput.files[0]);
xhr.send(form);
};
</script>
<p id="finish">
</p>
$filename = $_FILES['file']['name'];
$targetpath = getcwd() . '/' . $filename;
@move_uploaded_file($_FILES['file']['tmp_name'], $targetpath);
echo '<img src="' . $filename . '" height="100px" width="100px"/>';
?>
var fileInput=document.querySelector(“#file”)
fileInput.onchange=函数(){
var xhr=new XMLHttpRequest();
open('POST','test2.php');
xhr.upload.onprogress=函数(e){
progress.value=e.load;
progress.max=e.total;
};
xhr.onload=函数(){
var uploadStatus=document.getElementById(“完成”);
document.getElementById('finish').innerHTML='Upload done!';
};
var form=new FormData();
form.append('file',fileInput.files[0]);
发送(表格);
};
test2.php代码:
$filename = $_FILES['file']['name'];
$targetpath = getcwd() . '/' . $filename;
@move_uploaded_file($_FILES['file']['tmp_name'], $targetpath);
echo '<img src="' . $filename . '" height="100px" width="100px"/>';
?>
$filename=$\u文件['file']['name'];
$targetpath=getcwd().'/'$文件名;
@移动上传的文件($文件['file']['tmp\u名称],$targetpath);
回声';
?>
以及简单的表单代码:
<!DOCTYPE html>
<html>
<body>
<form method="post" action="test.php" enctype="multipart/form-data">
<input name="file" id="file" type="file" accept="video/*" />
<br /><br />
<input type="submit"/>
</form>
<br/>
<?php
$filename = $_FILES['file']['name'];
$targetpath = getcwd() . '/' . $filename;
@move_uploaded_file($_FILES['file']['tmp_name'], $targetpath);
echo '<img src="' . $filename . '" height="100px" width="100px"/>';
?>
ps:我清除了标签,很抱歉我在缩进方面遇到了问题,但它仍然不起作用。从哪里开始
- 您没有
标记 - 您有3个
标记。取下前两个,只留下最后一个 - 和2个
标签。拆下第一个1,只留下最后一个 - web服务器将文件存储在
处,而不是$\u FILES[“file”][“tmp\u name”]
处。(最后一个文件名只是原始文件名,因为它是在浏览器中上载的$\u FILES[“file”][“name”]
- 您需要将临时文件移动到您选择的位置,该位置必须可供web服务器写入,因为上传请求完成后,临时文件将被删除
- $path中已经有$name,但您再次使用$name回显$path。但不应回显其中任何一个。您应回显临时文件移动到的路径和文件名
img
标记的生成源?路径可能无效。