gpt4 book ai didi

javascript - 数组 $data ['image' ] 显示为空数组,无法将文件发送到 php

转载 作者:行者123 更新时间:2023-11-28 03:24:16 25 4
gpt4 key购买 nike

我需要将上传到表单的文件显示在 php 数组中,但我的数组是空的,为什么?如果有人回复我将不胜感激

这是我需要的结果:

Array
(
[image] => Array
(
[name] => name
[type] => type
[tmp_name] => C:\...
[error] => 0
[size] => 66666
)
)
 <form action="" id="form">
<p>Title: <input type="text" method="post" name="title" id="title" enctype= "multipart/form-data"></p>
<p>Min description: <textarea name="descr-min" id="descr-min"></textarea></p>
<p>Description: <textarea name="description" id="description"></textarea></p>
<p>Photo: <input type="file" name="image" id="image"></p>
<input type="submit" value="add">
</form>
<script src="/js/scripts.js"></script>




document.querySelector('#form').onsubmit = function(event) {

let formData = new FormData(this);
formData.append('action', 'addfile');

event.preventDefault();
fetch('data.php', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'multipart/form-data'
},
body: JSON.stringify(Object.fromEntries(formData)),

}).then((response) => response.text())
.then((text) => {
console.log(text);
})
}




<?php
require_once 'add.php';

// $action = $_POST['gg'];
$json = file_get_contents('php://input');
$data = json_decode($json);
$data = json_decode(json_encode($data), true);
print_r($data);
// this prints out:
// Array
// (
// [title] => asd
// [descr-min] => ds
// [description] => a
// [image] => Array
// (
// )

// [action] => addfile
// )
switch ($data['action']) {
case 'addfile';
addNews($data);
break;
}

最佳答案

PHP中上传的文件存储在$_FILES中超全局变量。您可以使用 name 访问文件上传文件输入的属性作为数组键,例如$_FILES['image']

您可以使用 $_FILES['image']['tmp_name'] 访问此文件的临时路径

参见https://www.php.net/manual/en/features.file-upload.php了解更多信息

编辑:确保您的表单具有属性 enctype="multipart/form-data"以允许文件正确上传到服务器。

<form id="form" method="post" enctype="multipart/form-data">

关于javascript - 数组 $data ['image' ] 显示为空数组,无法将文件发送到 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58804690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com