2016-08-28 16 views
-1

私はこの作品をかなりの期間作ろうとしています。しかし、私はそれを動作させるように思えない。私はphp mysqlで複数形式の画像をアップロード

if (isset($_POST['multi_fresh'])) { 

    $path = ''; 

    $user_id = $_REQUEST['user_id']; 
    $classification = $_REQUEST['classification']; 
    $yield = $_REQUEST['yield']; 
    $price = $_REQUEST['price']; 
    $farm_name = $_REQUEST['farm_name']; 

    foreach ($_FILES["farm_photo"]["tmp_name"] as $key => $tmp_name) { 

     $cl = $classification[$key]; 
     $yl = $yield[$key]; 
     $pr = $price[$key]; 
     $fn = $farm_name[$key]; 
     $im = $img[$key]; 

     if (!empty($pr)) { 

      $type = $im['type']; 
      $size = $im['size']; 
      $name = $im['name']; 
      $tmp_path = $im['tmp_name']; 
      $upload = $path . "images/farm/"; 
      if (($type == 'image/jpg' || $type == 'image/jpeg' || $type == 'image/png' || $type == 'image/gif') && $size < 5000000) { 
       $ext = pathinfo($name, PATHINFO_EXTENSION); 
       $farmimage = date('YmdHis') . "." . $ext; 
       if (move_uploaded_file($tmp_path, $upload . $farmimage)) { 
        $insert = mysql_query("INSERT INTO user_multi_farm set user_id='" . mysql_real_escape_string($user_id) . "',classification='" . mysql_real_escape_string($cl) . "',yield='" . mysql_real_escape_string($yl) . "',price='" . mysql_real_escape_string($pr) . "',farm_name='" . mysql_real_escape_string($fn) . "',farm_photo='" . mysql_real_escape_string($farmimage) . "'") or die(mysql_error()); 
        if ($insert) { 
         $sld_ins = "Add Sucessfully!"; 
        } else { 
         $sld_err = "Check Corresponding Fields"; 
        } 
       } 
      } else { 
       $inserts = mysql_query("INSERT INTO user_multi_farm set user_id='" . mysql_real_escape_string($user_id) . "',classification='" . mysql_real_escape_string($cl) . "',yield='" . mysql_real_escape_string($yl) . "',price='" . mysql_real_escape_string($pr) . "',farm_name='" . mysql_real_escape_string($fn) . "'") or die(mysql_error()); 
       if ($inserts) { 
        $sld_ins = "Add Sucessfully!"; 
       } else { 
        $sld_err = "Check Corresponding Fields"; 
       } 
      } 

     } 
    } 
+0

ようこそ! [ツアー](http://stackoverflow.com/tour)を見て回り、[ヘルプセンター](http://stackoverflow.com/help)、特に[どのように私に質問しますか良い質問ですか?(http://stackoverflow.com/help/how-to-ask) – Squazz

+0

私はこのコードを使用しましたが、私は結果を得ることができません.... –

答えて

0

一つだけの入力値を使用して複数の画像アップロードフォームを持っていると思ったあなたはちょうどあなたの<input>タグにmultipleを追加し、名前に配列[]構文与えることがあります。PHPを

<input type="file" name="imgs[]" multiple> 

をドキュメントにはガイドがあります。Uploading Multiple Files

複数のファイルをdi入力の名前を指定します。

複数のファイルを同時にアップロードして、情報を自動的に配列で整理することもできます。

PHPのドキュメントからの例:

<form action="file-upload.php" method="post" enctype="multipart/form-data"> 
    Send these files:<br /> 
    <input name="userfile[]" type="file" /><br /> 
    <input name="userfile[]" type="file" /><br /> 
    <input type="submit" value="Send files" /> 
</form> 


そのためには、あなたが複数の選択やチェックボックスでそうであるようにHTML形式で同じ配列を用いた投稿用の構文を使用する必要があります

PHPでファイルにアクセスする

PHPでアップロードされた複数のファイルにアクセスするには、シングルアップロードと同じコードを使用します。組み込みの$_FILESスーパーグローバル。 PHP documentation$_FILESによれば

は、HTTP POSTメソッドを介して現在のスクリプトにアップロード項目の連想配列

あります。この配列の構造は、POSTメソッドのアップロードセクションで概説されています。

あなたは他のどのようなこの連想配列をループすることができるはず

:スタックオーバーフローへ

foreach($_FILES["userfile"]["tmp_name"] as $key=>$tmp_name) 
{ 

} 
+0

私はこの種を使用しましたが、私はテキストボックスの値と入力ファイル私はforeachループで入力ファイルの値を取得する方法がわかりません。 –

関連する問題