[英]PHP array size value error
這是我的代碼:
if(isset($_FILES['productimage']['name'])!='')
{
echo $arraysize=sizeof($_FILES['productimage']['name']);
for($i=0;$i<$arraysize;$i++)
{
.....
}
在這里,我無法上傳任何圖片,但顯示尺寸為1。
那么它創建一個空文件嗎?
確切的問題是什么? 我怎樣才能解決這個問題?
提交包含<input type=file>
的表單時,即使文件未上傳,PHP也會填充$_FILES
數組。
這意味着將設置數組鍵( isset
將返回true),但它們將(或不會)包含有意義的值。 檢查文件是否實際上傳的最佳方法是檢查與文件關聯的錯誤代碼 。
if (isset($_FILES["productimage"]) && $_FILES["productimage"]["error"] === UPLOAD_ERR_OK) {
// handle uploaded file
}
在上面的示例中,添加了isset($_FILES["productimage"])
以確保設置了數組鍵; 文件是否已上傳。
您可以通過這種方式進行調試,以找出問題所在:
if ($_FILES["productimage"]["error"] > 0) {
echo "Error: " . $_FILES["productimage"]["error"] . "<br>";
} else {
echo "Upload: " . $_FILES["productimage"]["name"] . "<br>";
echo "Type: " . $_FILES["productimage"]["type"] . "<br>";
echo "Size: " . ($_FILES["productimage"]["size"] / 1024) . " kB<br>";
echo "Stored in: " . $_FILES["productimage"]["tmp_name"];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.