2017-03-05 26 views
0

ファイルアップロードを作成しましたformscriptiPhoneで使用しようとすると機能しません。クライアントがiOSの場合、PHPアップロードイメージスクリプトフォームが動作しません

私はエラーが発生しません。var_dumpコードを入力すると、error code 0となります。 AndroidWindows PhoneまたはDesktopなどの別のプラットフォームを使用すると、ファイルが正常にアップロードされます。

マイコード:

$valid_formats = array("jpg", "png", "gif", "zip", "bmp"); 
$max_file_size = 1024*20000; //20 mb 
$path = $_SERVER['DOCUMENT_ROOT'].'/beta/images/'; // Upload directory 
$count = 0; 

if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){ 
    // Loop $_FILES to execute all files 
    foreach ($_FILES['files']['name'] as $f => $name) {  
     if ($_FILES['files']['error'][$f] == 4) { 
      continue; // Skip file if any error found 
     }   
     if ($_FILES['files']['error'][$f] == 0) {    
      if ($_FILES['files']['size'][$f] > $max_file_size) { 
       $message[] = "$name is too large!."; 
       continue; // Skip large files 
      } 
      elseif(! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats)){ 
       $message[] = "$name is not a valid format"; 
       continue; // Skip invalid file formats 
      } 
      else{ // No error found! Move uploaded filesize 
      $info = getimagesize($_FILES["files"]["tmp_name"][$f]); 
      if ($info === FALSE) { 
       die("Unable to determine image type of uploaded file"); 
      } 
      if (($info[2] !== IMAGETYPE_GIF) && ($info[2] !== IMAGETYPE_JPEG) && ($info[2] !== IMAGETYPE_PNG)) { 
       die("Not a gif/jpeg/png"); 
      } 

       if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.time().'_'.$name)) 
       $count++; // Number of successfully uploaded file 
      } 
     } 
    } 
} 

move_uploaded_file機能return false$count変数としては0残ります。

ファイルアップロードスクリプトにiPhoneでアクセスするとアップロードされません。

フォームコード:

<form action="upload.php" method="post" enctype="multipart/form-data"> 
    <input id="file" type="file" name="files[]" multiple="multiple" accept="image/*"/><Note: Supported image format: .jpeg, .jpg, .png, .gif (Size up to 2mb)<input type="submit" value="Upload!" id="selectedButton"/> 
</form> 
+0

iOSアプリでAndroidアプリとまったく同じコードを使用していますか?そうでない場合は、アップロードに使用するiOSにコードを追加してください。 –

+0

私はアプリを使用していません。これはhtml形式です。 – Ophitect

答えて

0

私はiPhone上で前にこれを見てきました。イメージ名はxxx.JPGで、私のコードはファイル拡張子をチェックしていましたが、大文字と小文字が区別されていました。

有効な内線番号のリストにJPGを追加してください。

これに失敗した場合は、ファイルに$ _FILESの値を書き込み、投稿時に受け取った内容を正確に確認してください。

+0

大文字が問題だとは思えません。クラップス、私はそれを把握しようとする時間のように過ごすと、これは問題のように思えた。 – Ophitect

関連する問題