SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

PHP 基礎編10 - ファイルアップロード、インクルードファイル、require

■ファイルアップロード

  ・PHP でのファイルアップロードも実に簡単である。
    アップロード限界サイズを

      <INPUT TYPE="hidden" NAME="MAX_FILE_SIZE" SIZE="65536">
      <INPUT TYPE="file" NAME="file" SIZE="42">

    と TYPE="file" の前に指定する。
    ファイルがアップロードされると、name に指定した名前に $ を付けた変数
    としてファイルが渡ってくる。

      $file_name = ファイル名
      $file_size = ファイルサイズ
      $file_type = MIME タイプ
      $file      = ファイルデータ

  ・実際にファイルに書き出すには、

      copy($file, "$file_name");

    とするだけである。

  ・次のコードを test4.php として実行すると、ファイルアップロードの
    動作テストが行える。

<?php
/*
========================================================================
  ファイルアップロードテスト test4.php
========================================================================
*/
// 準備
  $pgmname = 'test4.php';
?>
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE>ファイルアップロードテスト</TITLE>
</HEAD>
<BODY>
<P align="center">▼ ファイルアップロードテスト ▼</P>
<HR>
<DIV>
<FORM action="<?= $pgmname ?>?c=cdata" id="FORM1" method="post" NAME="FORM1" ENCTYPE="multipart/form-data">
<TABLE border=1 cellPadding=3 cellSpacing=1>
  <TBODY>
    <TR>
      <TD nowrap><FONT size="-1">パラメタ a</FONT></TD>
      <TD nowrap><INPUT id="a" NAME="a" type="text" size="42" maxlength="40" value="<?= $a ?>"></TD>
    </TR>
    <TR>
      <TD nowrap><FONT size="-1">パラメタ b[0]</FONT></TD>
      <TD nowrap><INPUT id="b0" NAME="b[0]" type="text" size="42" maxlength="40" value="<?= $b[0] ?>"></TD>
    </TR>
    <TR>
      <TD nowrap><FONT size="-1">パラメタ b[1]</FONT></TD>
      <TD nowrap><INPUT id="b1" NAME="b[1]" type="text" size="42" maxlength="40" value="<?= $b[1] ?>"></TD>
    </TR>
    <TR>
      <TD nowrap><FONT size="-1">ファイル file</FONT></TD>
      <TD nowrap>
        <INPUT TYPE="hidden" NAME="MAX_FILE_SIZE" SIZE="65536">
        <INPUT TYPE="file" NAME="file" SIZE="42">
      </TD>
    </TR>
  </TBODY>
</TABLE>
<BR>
<TABLE border=1 cellPadding=3 cellSpacing=1>
  <TBODY>
    <TR>
      <TD nowrap><INPUT id=submit1 NAME=submit1 type=submit value="  実行  "></TD>
      <TD nowrap><INPUT id=reset1 NAME=reset1 type=reset value="リセット"></TD>
    </TR>
  </TBODY>
</TABLE>
</FORM>
<?php
// リクエスト取得処理
  if ($a != '' || $b[0] != '' || $b[1] != '') {

    if ($file_name != '' && $file_size != 0) {
      copy($file, "$file_name");
    }

print <<< END_OF_HTML
<P>\$a = $a</P>
<P>\$b[0] = $b[0]</P>
<P>\$b[1] = $b[1]</P>
<P>\$c = $c</P>
<P>\$file_name = $file_name</P>
<P>\$file_size = $file_size</P>
<P>\$file_type = $file_type</P>
END_OF_HTML;

  }
  else {
?>
<P>データを入力して下さい。</P>
<?php
  }
?>
</DIV>
<HR>
</BODY>
</HTML>

■インクルードファイル

  ・require を使用すると、よく使用するユーザ関数などを指定の場所にインク
    ルード展開できる。
    但し、拡張子 .inc のパーミッションなど、直接参照が不可になっていない
    と、ソースがただ見えになる気がする。

  require('inculdefile.inc');

■PHP 基礎編資料
■PHP + MySQL 編資料
■CGI-Perl 基礎編資料
■CGI-Perl 基礎実地編資料
■CGI-Perl 応用実地編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2024 Y.SAK