【发布时间】:2022-11-07 04:20:17
【问题描述】:
我有这条线:
move_uploaded_file($_FILES["img"]["tmp_name"], "uploads/" . "$img_name");
当我通过直接 POST(没有 JSON.stringify 内容)接收图像时,这曾经有效。 现在我正在发送带有字符串化数组内部图像的 ajax,所以我以这种方式在 PHP 文件中获取数组的内容:
$unstringified = json_decode(file_get_contents("php://input"), true);
然后我使用:
$title = $unstringified["title"];
$content = $unstringified["content"];
$img = $unstringified["img"];
问题是现在 move_uploaded_file 停止工作(似乎没有错误,但图像不再显示在文件夹中)。我尝试了一些类似的选项,但没有奏效。
move_uploaded_file($unstringified["img"]["tmp_name"], "uploads/" . "$img_name");
move_uploaded_file($_FILES[$unstringified["img"]]["tmp_name"], "uploads/" . "$img_name");
有什么办法解决这个问题吗?我是否应该以任何格式“转换”图像,直到将其放入我将字符串化的数组中?或者我必须以另一种方式在 PHP 文件中获取图像?
提前非常感谢。 莱安德罗。
【问题讨论】:
-
var_dump($unstringified)的结果是什么?还有你的javascript是什么样的 -
如果没有您的 AJAX 代码,要查看您对图像做了什么,我们无能为力帮助您,但您当然不能将
move_uploaded_file()用于 AJAX 调用中到达的数据。 -
var_dump 的结果是:
['img']=>array(0){}