ホームページ >バックエンド開発 >PHPチュートリアル >PHP 単一ファイルおよび複数ファイルのアップロードの例_php の例

PHP 単一ファイルおよび複数ファイルのアップロードの例_php の例

韦小宝
韦小宝オリジナル
2018-05-15 13:44:051874ブラウズ

PHP でのファイル アップロード と複数ファイル アップロードは、PHP を始めたばかりの初心者にとっては悪夢のようなものです。この記事では、単一ファイル アップロードと複数ファイル アップロードを実装するための PHP コードの詳細な分析を説明します。アップロードと問題の解決策。PHPファイルのアップロードがわからない場合は、楽しみにしていてください。 !

$_FILES が空の配列になるのはどのような場合ですか?

フォーム送信の enctype が multipart/form-data と等しくない場合、php.ini

設定ファイルでは、file_uploads = Off およびアップロードされたファイル サイズ > php.ini 設定で設定された最大アップロード サイズfile

それが表示されている限り $_FILES が空の配列の場合、上記の問題が発生する可能性があるため、修正する必要があります。

ファイルを選択せず​​にすぐに「アップロードボタン」をクリックすると、要素内の各属性は空の

文字列となり、エラー属性は4

単一ファイルアップロードになります。

$_FILES データ構造

array(
  'filename' => array(
    'name' => 'xxx.png',
    'type' => 'image/png',
    'size' => 2548863,
    'tmp_name' => '/img/sdsdsd.png',
    'error' => 0
  )
)

単一ファイル または 複数ファイルアップロード のいずれであっても、name / size / type / tmp_name / の 5 つの固定属性があります。エラー

单文件还是多文件上传,都会有5个固定属性:name / size / type / tmp_name / error

多文件上传

相比单文件上传,多文件上传处理起来要复杂多了前端的两种多文件上传形式

//name相同
<form method="post" enctype="multipart/form-data">
  <input type="file" name="wt[]"/>
  <input type="file" name="wt[]"/>
  <input type="submit" value="提交"/>
</form>

//name不同(简单点)
<form method="post" enctype="multipart/form-data">
  <input type="file" name="wt"/>
  <input type="file" name="mmt"/>
  <input type="submit" value="提交"/>
</form>

后端的 $_FILES

複数のファイルのアップロード

単一のファイルのアップロードと比較して、より多くのファイルのアップロード処理

フロントエンドの 2 つの形式のマルチファイル アップロード

//name相同
array (size=1)
 &#39;wt&#39; => 
  array (size=5)
   &#39;name&#39; => 
    array (size=2)
     0 => string &#39;新建文本文档 (2).txt&#39; (length=26)
     1 => string &#39;新建文本文档.txt&#39; (length=22)
   &#39;type&#39; => 
    array (size=2)
     0 => string &#39;text/plain&#39; (length=10)
     1 => string &#39;text/plain&#39; (length=10)
   &#39;tmp_name&#39; => 
    array (size=2)
     0 => string &#39;C:\Windows\php1D64.tmp&#39; (length=22)
     1 => string &#39;C:\Windows\php1D65.tmp&#39; (length=22)
   &#39;error&#39; => 
    array (size=2)
     0 => int 0
     1 => int 0
   &#39;size&#39; => 
    array (size=2)
     0 => int 0
     1 => int 1820

//name不同(简单点)
array (size=2)
 &#39;wt&#39; => 
  array (size=5)
   &#39;name&#39; => string &#39;新建文本文档 (2).txt&#39; (length=26)
   &#39;type&#39; => string &#39;text/plain&#39; (length=10)
   &#39;tmp_name&#39; => string &#39;C:\Windows\php39C7.tmp&#39; (length=22)
   &#39;error&#39; => int 0
   &#39;size&#39; => int 0
 &#39;mmt&#39; => 
  array (size=5)
   &#39;name&#39; => string &#39;新建文本文档.txt&#39; (length=22)
   &#39;type&#39; => string &#39;text/plain&#39; (length=10)
   &#39;tmp_name&#39; => string &#39;C:\Windows\php39D8.tmp&#39; (length=22)
   &#39;error&#39; => int 0
   &#39;size&#39; => int 1820

バックエンドの $_FILES の対応するデータ構造は異なります

rrreee

フィールド エラーの目的

値: 1 アップロードされたファイルは、ini の Upload_max_filesize オプションで制限された値を超えています。

値: 2 アップロードされたファイルのサイズが、HTML フォームの MAX_FILE_SIZE オプションで指定された値を超えています。

値: 3 ファイルの一部のみがアップロードされました。 値: 4 ファイルはアップロードされませんでした。値: 5 アップロードされたファイルのサイズは 0.

上記は

PHP ファイルのアップロード のすべての内容です、皆様のお役に立てれば幸いです。 !

関連する推奨事項:

PHP で大きなファイルをアップロードできない問題に対する完璧な解決策

🎜🎜🎜PHP の単一ファイルおよび複数ファイルのアップロードの分析例🎜🎜🎜🎜PHP ファイルアップロードクラス Sharing_php の例🎜 🎜

以上がPHP 単一ファイルおよび複数ファイルのアップロードの例_php の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。