2017-07-31 9 views
-1

セッション内で複数の画像を一度にアップロードしようとしています。私の場合、ユーザーは1つの「位置」について前に述べた正確な量の画像をアップロードし、異なる量の異なる画像を有する別の「位置」のための動作を繰り返さなければならない。 Unforunatelyアップロードが動作しないと私は理由を知らない。 $_FILESの代わりに$_POSTを使用するか、またはforeachの方法が正しくないですか?ここでは、コードは次のようになります。セッション内で複数のファイルをアップロードするにはどうすればよいですか?

HTML:

<?php 

session_start(); 
include('php/uploadspec.php'); 
if(!isset($_SESSION['face'][$_SESSION['counter']])){ 
    header("Location: cuberender.php"); 
} 

$speccount = 1; 

?> 

<div class="counter"> 

     <form method="post"> 
      <div class="form-group"> 
       <p>Please Choose all <?php echo $_SESSION['quantity'] ?> photos for <?php echo $_SESSION['face'][$_SESSION['counter']] ?></p> 
      </div> 
      <div class="form-group"> 
       <input type="file" name="images[]" accept="image/*" multiple /> 
      </div> 
      <div class="form-group"> 
       <input type="submit" name="Submit" value="Submit!" /> 
      </div> 
     </form> 

     <?php 
     if (isset($_POST['Submit'])) { 
      $imgamount=count($_POST['images']); 
      if ($imgamount==$_SESSION['quantity']){ 
      uploadspec(session_id(), $speccount); 
      $_SESSION['counter']++; 
      header("Location: posteditor.php"); 
      } 
     } 
     ?> 

PHP:事前に

function uploadspec($id, $speccount){ 
    foreach($_FILES["images"]["tmp_name"] as $image) { 
     $target_file = $id . '/' .$_SESSION['face'][$_SESSION['counter']]. '/specimage'.$speccount; 
     $speccount++; 
     move_uploaded_file($image, $target_file); 
    } 
} 

ありがとう!

+0

php.iniファイル内の最大アップロードサイズとポスト最大サイズを更新することで、チェック*「私が代わりに$ _FILESの$ _POSTを使用すべきか、foreachの方法が修正されていない?」* - '$ _FILES'また、マニュアルの中にhttp://php.net/manual/en/features.file-upload.post-method.phpのベースとなる例があります –

+0

あなたが使っているものが失敗した場合は、エラー報告http://php.net/manual/en/function.error-reporting.php –

+0

'if(!isset($ _ SESSION ['face'] [$ _ SESSION ['counter']]))'可能性がありますあなたがここで失敗した。 –

答えて

0

php max upload limit & php maxの制限を確認してください。

0

関連する問題