0

まず最初に、私がやろうとしていることがうまくいかない場合に何をすべきかをネット上で見てきました。すべての解決策を試しましたが、うまくいきませんでした。何かが足りない。

フォーム フィールドから複数のファイルをアップロードしています。これは完全に機能し、サイズ変更などのコードを実行して、tmpファイルを何とか何とか削除します。

問題は、ファイルをアップロードしたくない場合、アップロードおよび画像処理スクリプトがまだ実行され、一連のエラーがスローされることです。

私は次のことを試しました...さらに、いくつかの奇妙なバリエーションでさらに多くのことを試しました:P

if($_FILES['gallery']['name']!=""){      // if files then...
include_once("gallery_edit_script.php");
  }

if (count($_FILES["gallery"]["name"] > 0)){   // if files count is more than 0 then...
include_once("gallery_edit_script.php");
  }

gallery_edit_script.php がインクルードであるという事実は、それと関係がありますか?

ファイルエラーを確認しました...

$_FILES["gallery"]["error"]

アップロードするファイルが選択されていないことが示されましたが、これはまさに私が望んでいたものでした.

アイデアはありますか?

これを見てくれている人に感謝します。

乾杯

HTML を追加しましたが、アップロードが正常に機能していると述べたように、フォームを投稿し、アップロードするファイルを含めない場合は、ギャラリー スクリプトをスキップします。これは編集ページにあるため、ユーザーはフォームを送信し、データベースにデータを追加し、ファイルをアップロードしてから戻ってきて、データを編集したいがファイルをアップロードしたくない.

HTML (フィールドのヒープなどがあるため簡略化)

<form action="inventory_edit_lease.php" enctype="multipart/form-data" name="myForm" id="myForm" method="post">
Gallery Photos <input class="input-file" type="file" name="gallery[]" id="gallery" multiple="multiple" />
<input class="button-edititem" type="submit" name="submit" id="button" value="" onclick="javascript:return validateMyForm();"/>
</form>

申し訳ありませんが、最初に HTML を追加しませんでした。フォームは機能するので、本当に必要だとは思いませんでした ;)

4

3 に答える 3

0

興味のある人のためにこれはうまくいったものです:)

別のスレッドからこれを取得しましたif($ _ FILES ['files'] ['name']!= "")ファイルの場合は実行します。ファイルがない場合は実行しないでください。

if(!empty($_FILES['gallery']['tmp_name']))
 {
 include_once("gallery_edit_script.php");
 }
   else
   {
   header("Location: inventory_list_sales.php");
   }

面白いことに、私はすべてのファイルをコピーし、小さな部分だけを編集したので、ほとんど同じコードで作業している別のサイトでこれを試しましたが、機能しませんlol

みんなの助けをありがとう:)

于 2012-09-13T01:22:59.857 に答える
0

チェックリストが少ない…

  1. <input type="file" />asという名前を付けたことを確認してくださいgallery:

    <input type="file" />

  2. <form>タグに正しい URL へのmethod="post"とがあることを確認してください。action=""

  3. また、<form>タグにenctype="multipart/form-data"else が含まれていることを確認してください。そのフォームからファイルをアップロードすることはできません!

何かを提案する前に、ファイルの HTML コードを確認する必要があります。上記のチェックリストに従っていることを確認してください。それでも機能しない場合は、コードを投稿してお知らせください。

于 2012-09-03T07:12:23.597 に答える
0

HTMLフォームがなければ、私は推測しています:

  • 同じ名前で複数のファイルをアップロードするには、次のようにファイルする必要があります
  • サーバー側では、それらを次のように受け取ります$_FILES["gallery"]

    $_FILES["gallery"]要素の配列になります。例:

     foreach($_FILES["gallery"] as $file){
         var_export($file);
     }
    
于 2012-09-03T07:15:22.613 に答える