$_FILEの使い方

変数 $FILES['userfile']['size'] を使用して、小さすぎたり 大きすぎたりするファイルを捨てることができます。指定した型以外の ファイルを全て捨てるために変数 $FILES['userfile']['type'] を用いることができます。この値を設定するのはあくまでもクライアントであり、 PHP 側では何もチェックしていません。PHP 4.2.0 以降、 $_FILES['userfile']['error'] を使用することができ、エラーコードに基づき、ロジックを構成することができます。何らかの方法により、テンポラリディレクトリからファイルを削除したり他の場所に移動したりする必要があります。

フォームでアップロードされるファイルが選択されていない場合、PHP は $FILES['userfile']['size'] として 0 を返し、$FILES['userfile']['tmp_name'] には値を設定しません。移動または名前の変更が行われていない場合、リクエストの終了時にそのファイルはテンポラリディレクトリから削除されます。

<?php

// ポストされたファイルの形式やサイズなどを変数に代入
if (isset($_POST['submit'])) {
    $pic_name = trim($_FILES['pic']['name']));
    $pic_type = $_FILES['pic']['type'];
    $pic_size = $_FILES['pic']['size'];
    list($pic_width, $pic_height) = getimagesize($_FILES['pic']['tmp_name']);
        $error = false;

        // アップロードされたファイルが画像か判定 & 0以上のサイズ & MAXファイルサイズは50KB以下、height、widthは200px以下
        if (!empty($pic)) {
            if ((($pic_type == 'image/gif') || ($pic_type == 'image/jpeg') && ($pic_size > 0) && ($pic_size <= 51200) && ($pic_width <= 200) && ($pic_height <= 200)) {
                // もしファイルのエラーが0だったら、アップロード
                if ($_FILES['file']['error'] == 0) {
                    $target = /etc/upload/images/ . $pic;
                    if (move_uploaded_file($_FILES['pic']['tmp_name'], $target))

  • ファイルアップロードの処理

http://jp1.php.net/manual/ja/features.file-upload.php

  • $_FILES

http://jp1.php.net/manual/ja/reserved.variables.files.php

http://www.php.net/manual/ja/features.file-upload.post-method.php



Latch (feat. Sam Smith)

Latch (feat. Sam Smith)

  • Disclosure
  • Electronic
  • ¥250