![]() |
ノート/GnuPlot(0)http://pepper.is.sci.toho-u.ac.jp/pepper/index.php?%A5%CE%A1%BC%A5%C8%2FGnuPlot%280%29 |
![]() |
訪問者数 1124 最終更新 2011-07-28 (木) 15:16:17
<form action="file-upload.php" method="post" enctype="multipart/form-data"> Send these files:<br /> <input name="userfile[]" type="file" /><br /> <input name="userfile[]" type="file" /><br /> <input type="submit" value="Send files" /> </form> 上記のフォームで投稿された場合、配列 $_FILES['userfile'], つまり、 $_FILES['userfile']['name'][i], $_FILES['userfile']['size'][i], $_FILES['userfile']['tmp_name'][i], $_FILES['userfile']['type'][i] が設定されます。 例えば、ファイル名が /home/test/review.html および /home/test/xwp.out のファイルが 投稿されると、 $_FILES['userfile']['name'][0] の値が review.html となり、$_FILES['userfile']['name'][1] の値が xwp.out となります。 尚、max_file_uploads は一回のリクエストあたりでアップロードできるファイルの数の制限値となります。
上記だと、アップロードファイル指定画面で、ファイルを別欄に1つ1つ指定しなければならないので、やりにくい。
<form action="file-upload.php" method="post" enctype="multipart/form-data"> Send these files:<br /> <input name="userfile[]" type="file" multiple/><br /> <input type="submit" value="Send files" /> </form>上記<input type="file">のところに、multiple と指定するだけ。これで、選択画面で複数ファイルを同時選択(WindowsならばCTRLキーを押しながら左クリック)できる。
これを使った、もう少し実際的な(動いた)プログラムの例:
multifile.html
<html> <body> <form action="multifile.php" method="post" enctype="multipart/form-data"> Send these files:<br /> <input type="hidden" name="MAX_FILE_SIZE" value="300000" /> <input name="userfile[]" type="file" multiple/><br /> <input type="submit" value="Send files" /> </form> </body> </html>
multifile.php
<?php $count = count($_FILES['userfile']['name']); print($count . '<br>'); for ($i=0; $i<$count; $i++) { print($_FILES['userfile']['name'][$i] . '<br>'); print($_FILES['userfile']['tmp_name'][$i] . '<br>'); if (is_uploaded_file($_FILES["userfile"]["tmp_name"][$i])) { if (move_uploaded_file($_FILES["userfile"]["tmp_name"][$i], "files/" . $_FILES["userfile"]["name"][$i])) { chmod("files/" . $_FILES["userfile"]["name"][$i], 0644); echo $_FILES["userfile"]["name"][$i] . "をアップロードしました。<br>"; } else { echo "ファイルをアップロードできません。<br>"; } } else { echo "ファイルが選択されていません。<br>"; } } ?>
<?php echo '<pre>'; // シェルコマンド "ls" の全ての結果を出力し、出力の最後の // 行を $last_line に格納します。シェルコマンドの戻り値は // $retval に格納されます。 $last_line = system('ls', $retval); // 追加情報を表示します。 echo ' </pre> <hr />Last line of the output: ' . $last_line . ' <hr />Return value: ' . $retval; ?>
<?php // ("whoami" コマンドをパスに有するシステム上で) // 実行中のphp/httpdプロセスを所有するユーザの名前を出力 echo exec('whoami'); ?>