簡體   English   中英

PHP-保存通過AJAX上傳的圖像

[英]PHP - Save image uploaded with AJAX

鑒於此,我花了幾個小時進行研究和思考,但是我什么也沒做。

我設法使用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給我錯誤“期望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." / /"imagejpeg('/img/uploads/image.jpg'): Failed to open stream. No such file or directory."

有人可以解釋我如何將圖像從陣列中獲取到磁盤上的文件嗎?

您必須像這樣使用move_uploaded_file函數:

move_uploaded_file($_FILES["uploaded_file"]["tmp_name"], $pathfilename)

使用php函數move_uploaded_file(“ $ _ FILES ['newFile'] ['tmp_name']”,“ Location_where_you_want_to_save”);

弄清楚了! 顯然“ / img / uploads /”是問題所在。 PHP無法將斜杠識別為根目錄! 我的錯!

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

在新文件路徑完美運行之前,請使用$ _SERVER ['DOCUMENT_ROOT']。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM