【发布时间】:2017-09-20 13:11:45
【问题描述】:
我一直在寻找我能在这里找到的所有答案,但似乎没有一个对我有用,不知道为什么。
我正在尝试使用 ajax 上传文件,但该文件永远不会到达 PHP 中的 $_FILES 数组,我只将它放到 $_POST 数组中,但它不会让我获得文件的名称或大小文件。我已经尝试了这里回答的每一个解决方案,但似乎没有一个能解决我的问题,我不知道为什么,我认为有些东西我没有看到。如果有人可以帮助我,那就太好了。
HTML 代码
<form name='formuploadgraphic'>
<input type='file' name='archivo1' id='archivo1' onchange='subegraphic()'>
</form>
JS/AJAX 代码
function subegraphic()
{
var formData = new FormData();
formData.append("archivo1", $("#formuploadgraphic")[0]);
$.ajax({
url: "subegraphic.php",
type: "post",
data: formData,
cache: false,
contentType: false,
processData: false,
async: true
})
.done(
function(data)
{
alert(data);
}
);
}
PHP 代码
<?php
$upload_folder ='graphics';
$nombre_archivo = $_FILES['archivo1']['name'];
$tipo_archivo = $_FILES['archivo1']['type'];
$tamano_archivo = $_FILES['archivo1']['size'];
$tmp_archivo = $_FILES['archivo1']['tmp_name'];
$extension = pathinfo($_FILES['archivo1']['name'], PATHINFO_EXTENSION);
$archivador = $upload_folder . '/' . $nombre_archivo;
echo $nombre_archivo;
?>
如果我使用该代码,这是来自 php 的回复:
"
通知:未定义索引:C:\xampp\htdocs\airpost\home\subgraphic.php 中 4 行中的存档 1 b>
通知:未定义索引:archivo1 在 C:\xampp\htdocs\airpost\home\subgraphic.php 行 5
通知:未定义索引:C:\xampp\htdocs\airpost\home\subgraphic.php 中的archivo1 在第 6 行
通知:未定义索引:C:\xampp\htdocs\airpost\home\subgraphic.php 行 中的archivo1 7
通知:C:\xampp\htdocs\airpost\home\subgraphic.php行中未定义索引:archivo1 >8
"
如果有人能说出我的代码有什么问题,那就太棒了。提前谢谢。
PS:上传文件在 php.ini 中是开启的
【问题讨论】:
-
你试过this tutorial吗?我也有兴趣回答你的问题,因为我手头也有类似的困境。
标签: javascript php ajax file upload