簡體   English   中英

使用POST上傳PHP圖像

[英]PHP Image Upload using POST

我正在嘗試做一個簡單的圖像上傳器。 我已經搜索了幾個小時,並且確保設置了enctype,並且還根據自己的意願更改了php.ini。 文件和文件夾的權限也正確。 我已經在另一個網絡服務器上嘗試了完全相同的代碼,並且可以正常工作。 在樹莓派上用php5運行apache2

HTML代碼

<form method="post" enctype="multipart/form-data" action="upload.php">
    <table>
        <tr><td><input type="file" name="uimage"></td></tr>
        <tr><td><input name="Submit" type="submit" value="Upload image"></td></tr>
    </table>    
</form>

PHP代碼

var_dump($_FILES);

PHP代碼返回一個空數組。 var_dump($_POST); 工作正常。 在另一台服務器上,兩者均正常工作,並且圖像成功上傳。 我認為這與我的服務器有關。 我已經檢查了php.ini文件和站點啟用的000-default ,但實際上無法弄清楚是什么原因引起的。

這是來自apache2的error.log說的:

PHP注意:未定義的索引:第48行的/var/www/dmz/dotpic/upload.php中的uimage,引用者: http://localhost/upload.php

編輯:

問題標題中的“ POST”表示我正在使用的表單方法。 我不嘗試使用$_POST數組訪問圖像。 抱歉

使用$_FILES['uimage']訪問您的文件,$ $_FILES['uimage']對文件不起作用。 更多信息,請使用此鏈接: http : //www.w3schools.com/php/php_file_upload.asp

您不應使用$_POST來獲取文件,而應使用$_FILES['uimage']來獲取上載的文件。

$_FILES['uimage']是一個數組,其中包含有關大小,上載文件的臨時名稱,上載結果和上載文件的文件類型的信息。

正如上面已經回答的那樣。 您應該使用$ _FILES ['uimage']而不是$ _POST ['uimage']。 祝好運。 :)

暫無
暫無

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

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