0

考虑到这一点,我进行了几个小时的研究和思考,但我一无所获。

我已经设法使用 FormData 对象通过 AJAX 上传图像文件。'name'当文件到达 php 代码时,我可以通过以下方式访问其信息'type'

$_FILES['newFile']['name'];
$_FILES['newFile']['type'];

依此类推,这意味着文件必须按预期上传,我似乎无法从那里将其保存到文件中。

我努力了:

$file = file_get_contents($_FILES["newFile"]['tmp_name']);
imagejpeg($file, '/img/uploads/' . $_FILES["newFile"]['name']);

但是随后 imagejpeg 给了我错误“期望 paramater1 是资源,给定字符串”。所以我尝试了:

$file = imagecreatefromstring(file_get_contents($_FILES["newFile"]['tmp_name']));
imagejpeg($file, '/img/uploads/' . $_FILES["newFile"]['name']);

我现在收到错误:/"imagejpeg('/img/uploads/image.jpg'): Failed to open stream. No such file or directory."

有人可以解释我如何将图像从阵列中获取到磁盘上的文件吗?

4

3 回答 3

1

您必须像这样使用 move_uploaded_file 函数:

move_uploaded_file($_FILES["uploaded_file"]["tmp_name"], $pathfilename)
于 2013-07-05T04:21:59.380 回答
0

使用 php 函数 move_uploaded_file("$_FILES['newFile']['tmp_name']","Location_where_you_want_to_save");

于 2013-07-05T04:21:50.780 回答
0

弄清楚了!显然“/img/uploads/”是问题所在。PHP 不识别正斜杠作为根目录!我的错!

move_uploaded_file($_FILES["newFile"]['tmp_name'], $_SERVER['DOCUMENT_ROOT'] . '/img/uploads/' . $_FILES["newFile"]['name']);

在新文件路径完美运行之前使用 $_SERVER['DOCUMENT_ROOT'] 。

于 2013-07-05T04:43:47.820 回答