2015-05-29 48 views
1

我有一個基於網絡的應用程序,通過移動設備將照片上傳到服務器。我添加了一個「必需」屬性,以限制頁面轉到下一頁而不選擇圖像。它適用於Android和Microsoft操作系統,但是當我嘗試將它與iPhone一起使用時,它會轉到下一頁。這是下面的代碼。文件類型「必需」不適用於iPhone?

HTML

<body> 
<form enctype="multipart/form-data" id="form" action="login.php" method="POST"> 
    <input name="image" type='file' required id="image" onchange="readURL(this);" accept="image/*" capture="camera" /><br/><br/> 
    <img id="blah" src="#" alt="your image" /><br/><br/> 


    <input type="submit" value="Upload"/> 
    </form> 

PHP

if(isset($_FILES['image'])) 
{ 
session_start(); 
     $_SESSION['str']; 
     $_SESSION['img']; 
     //$uploaded = $_SESSION['str']; 
     $image = basename($_FILES["image"]["name"]); 
move_uploaded_file($_FILES['image']['tmp_name'], $_SESSION['str'].$_SESSION['img']); 
echo "upload successful"; 
} 

使用Android和微軟的操作系統會提示選擇該文件,但在iOS中它給人的消息上傳成功時。如何解決它。

+0

看來iOS/Safari完全不支持:http://caniuse.com/#search=required – jeroen

回答

0

在iOS Safari required屬性部分支持。當提交必填字段的表單時,表示沒有通知。嘗試添加PHP if語句來檢查文件是否被傳輸,如果不阻止訪問下一頁。

+0

舉例?我的意思是我應該檢查什麼?其擴展名或大小還是什麼? – Vishu

+0

@Vishu檢查是一個成功的上傳 - 「if($ _FILES ['image'] ['error'] == 0){...}'。如果我幫助你,請按下回應是有用的,並接受。 –

+0

它工作正常..但問題是,當我嘗試從不同的頁面登錄,它顯示頁面上的消息上傳成功。 – Vishu