ホームページ  >  記事  >  バックエンド開発  >  PHPファイルアップロードの基本入門

PHPファイルアップロードの基本入門

小云云
小云云オリジナル
2018-03-02 11:04:201623ブラウズ

1. ファイルのアップロード

PHP を通じて、ファイルをサーバーにアップロードできます。データはフォームまたはポストを通じてサーバーに送信できますが、ポストではファイル タイプのデータ情報を送信できません。
1>phpファイルアップロードコマンド設定

  1. file_uploads=on|off

    サーバー上の PHP スクリプトがファイルのアップロードを受け入れることができるかどうかを判断します。

  2. max_execution_time=整数
    致命的なエラーが登録されるまでに PHP スクリプトを実行できる最大時間 (秒単位)。

  3. memory_limit=整数

    スクリプトが割り当てられる最大メモリを MB 単位で設定します。これにより、暴走したスクリプトがサーバーのメモリを独占するのを防ぎます。

  4. upload_max_filesize=integer
    アップロードするファイルの最大サイズをMB単位で設定します。

  5. upload_tmp_dir=string
    アップロードされたファイルは、ファイルが最終的な宛先に移動されるまで処理される前に、サーバー上の一時的な場所に保存されるように設定します。

  6. post_max_size=integer
    POST メソッドで受け付けられる情報の最大サイズを MB 単位で決定します。

2>$_FILES array

<form action="upload_file.php" method="post"enctype="multipart/form-data">
    <label for="file">上传文件:</label>
    <input type="hidden" name="MAX_FILE_SIZE" value="1000"/>
    <input type="file" name="file" id="file" /> 
    <img id="preview">
    <br />
    <input type="submit" name="submit" value="Submit" />
</form>

ENCTYPE=”multipart/form-data”:
これは固定の書き込み方法です。そうでない場合、ファイルのアップロードは失敗します。
ACTION=”upload.php”:
アップロードを処理するプログラム ファイルのパスを定義します。
METHOD=”投稿”:
送信方法をPOSTとして定義します。 通常、フォーム送信データはPOSTに設定されます。
<input type=”hidden” name=”MAX_FILE_SIZE” value=”1000000”>
これは、アップロードされるファイル サイズの上限を定義する非表示フィールドです。この値を超えると、アップロードは失敗します。ファイルアップロードドメインの前に定義する必要があります。また、ここで定義する値は、php.ini ファイルの Upload_max_filesize に設定された値を超えることはできません。そうしないと意味がありません (注: MAX_FILE_SIZE の値は、単なる提案です。実際、これは簡単に回避できるため、PHP.ini 設定のアップロード ファイルの最大値は無効ではありません。 MAX_FILE_SIZE 形式にします。これにより、ユーザーは、大きなファイルがアップロードされるのを待ってから、そのファイルが大きすぎることに気づくという手間が省けます)

これはファイル アップロード ドメインです。Type 属性は file に設定する必要がありますが、この値はコード ファイルで使用できます。

<?php
    print_r($_FILES);?>

$_FILES スーパーグローバル変数。PHP スクリプトを通じてサーバーにアップロードされるファイルにとって重要な、アップロード関連のさまざまな情報を保存します。
1.

_FILES["file"]["name"] 変数に格納される値は、ユーザーシステム内のファイル名です。
3. _FILES["file"]["type"] 変数に格納される値は、ファイルの MIME タイプです (例: text/plain または image/gif)。
5. $_FILES["file"]["error"] 変数に格納される値は、ファイルのアップロードに関連するエラー コードになります。 PHP4.2.0で追加された新機能です。
error はそれぞれいくつかの配列定数を提供します:
+ 0: エラーが発生していないことを示します。
+ 1: アップロードされたファイルのサイズが合意された値を超えていることを示します。最大ファイル サイズは、PHP 構成ファイルで指定されます。ディレクティブは、upload_max_filesize です。
+ 2: アップロードされたファイルのサイズが、HTML フォームの MAX_FILE_SIZE 要素で指定された最大値を超えていることを示します。
+ 3: ファイルが部分的にのみアップロードされたことを示します。
+ 4: ファイルがアップロードされていないことを示します。

3>アップロード関数
PHP には、ファイル アップロード プロセス専用の 2 つの関数、is_uploaded_file() と move_uploaded_file() も用意されています。

//确定是否上传文件if (is_uploaded_file($_FILES["file"]["tmp_name"])) {    echo '已经上传到临时文件夹';    $filename = "upload".time()."png";    //移动上传文件(将文件移动到指定文件夹)
    if (!move_uploaded_file($_FILES["file"]["tmp_name"],img/,$filename)) {        echo '移动失败';        exit;
    }else{        echo "移动成功";
    }
} else {    echo '失败';
}

2. ファイル ディレクトリ

プログラマは、ファイルやディレクトリに関する重要な詳細情報 (場所、サイズ、最終変更時刻、最終アクセス時刻など) を取得する方法を必要とします。その他の識別情報。
1>ディレクトリ操作
+現在のファイルパスを取得
1. __FILE__
現在のファイルパス+現在のファイル名
2. __DIR__
現在のファイルパス
3. dirname(__FILE__)
現在のファイルパス
4. Basename(__FILE__)
現在のファイル名
5. pathinfo(__FILE__)
fluence ディレクトリ名、ベース名、拡張子を含むパスに関する情報の連想配列
6. realpath(__FILE__)
絶対パス (このファイルが存在する場合)現在のプロジェクトの下に存在します) 絶対パスを取得します。現在のファイル内の対応するファイル パス情報のみを読み取ることができます)

__FILE__ と __DIR__ は現在のファイル用であり、dinrname() とbasename() は任意のファイル パス用です

2> ディスク、ディレクトリ、ファイルサイズの計算
1. ファイルサイズ
filesize($path)
ファイルのサイズをバイト単位で計算します。

$file = __FILE__;echo round(filesize($file)/1024).'KB';
  1. ディスク空き容量サイズ
    disk_free_space()
    指定されたディレクトリが配置されているディスクパーティションの利用可能な容量。

$drive = 'C:';echo round(disk_free_space($drive)/1024/1024/1024,2).'GB';
  1. 磁盘的总容量
     disk_total_space()
     指定的目录所在磁盘分区的总容量。

$drive = 'C:';echo round(disk_total_space($drive)/1024/1024/1027,2).'GB';

相关推荐:

php文件上传简单实例分享

php文件上传类及PHP封装的多文件上传类分享

HTML5 Ajax文件上传进度条如何显示

以上がPHPファイルアップロードの基本入門の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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