考虑到这几个小时的研究和思考,但我没有得到任何地方。
我设法使用FormData对象通过AJAX上传图像文件。当文件到达php代码时,我可以使用以下方式访问其'name'
和'type'
等信息:
$_FILES['newFile']['name'];
$_FILES['newFile']['type'];
依此类推,这意味着该文件必须按预期上传,我似乎无法将其保存到文件中。
我试过了:
$file = file_get_contents($_FILES["newFile"]['tmp_name']);
imagejpeg($file, '/img/uploads/' . $_FILES["newFile"]['name']);
但是然后imagejpeg给了我错误“Expect paramater1 to resource,string given。” 所以我试过了:
$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."
有人可以解释我是如何将数组从阵列中获取到磁盘上的文件的吗?
答案 0 :(得分:1)
您必须使用move_uploaded_file函数,如下所示:
move_uploaded_file($_FILES["uploaded_file"]["tmp_name"], $pathfilename)
答案 1 :(得分:0)
使用php函数move_uploaded_file(“$ _ FILES ['newFile'] ['tmp_name']”,“Location_where_you_want_to_save”);
答案 2 :(得分:0)
想出来!显然“/ img / uploads /”是个问题。 PHP无法将正斜杠识别为根目录!我的错!
move_uploaded_file($_FILES["newFile"]['tmp_name'], $_SERVER['DOCUMENT_ROOT'] . '/img/uploads/' . $_FILES["newFile"]['name']);
在新文件路径完美运行之前使用$ _SERVER ['DOCUMENT_ROOT']。