SAK 図書館
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 応用実地編資料