Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';在php上不显示上传文件_Php_Ajax - Fatal编程技术网

Can';在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')

更新:好的,谢谢你的帮助,我设法用一个简单的表单来显示图片(稍后会有视频),但我仍然坚持使用ajax。。。下面是我对ajax的编码尝试(出于某种原因,它不读取回音),而在最远端是我的简单编码形式

test.php代码:

<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
标记的生成源?路径可能无效。