Windows7、IIS環境で、PHPでファイルUPLOADする
PHPのインストール及び設定
参考 (https://www.phpbook.jp/tutorial/)
PHPインストール
- 画面右7.2.2を選択
- 「Windows downloads」と書かれたリンクをクリック
- 使うものをクリック IISの場合はNon Thread Safe Apacheの場合はThread Safe
- 解凍する(インストールキットは無い) 今回はNon Thread Safe。
PHP設定
参考 (http://create-something.hatenadiary.jp/entry/2014/06/11/194808)
- PATHにPHPのインストールしたフォルダを追加
- コマンドを打って確認
php -r "echo 'hello';"
- INIファイルを作成 雛形を利用
php.ini-development 開発環境用雛形 php.ini-production 実行環境用雛形 今回はphp.ini-developmentをコピーしてphp.iniを作成
- php.iniの以下の項目のコメントを削除して有効にする
fastcgi.impersonate = 1 fastcgi.logging = 0 cgi.fix_pathinfo = 1 cgi.force_redirect = 0
- 展開したフォルダ内のphp-cgi.exeを実行し、エラーが出ないことを確認する。 CTR + Cで終わる。
IISの設定
参考 (http://d.hatena.ne.jp/diveintounlimit/20091213/1260714351)
機能の追加
- Windowsの機能の有効化
インターネットインフォメーションサービス⇒World Wide Webサービス⇒アプリケーション開発機能⇒CGIにチェック
インターネットインフォメーションサービス⇒World Wide Webサービス⇒HTTP共通機能にチェック
PHPフォルダアクセス権限設定
- PHPのフォルダのプロパティーを開く。
- [セキュリティ] タブの [編集] をクリックする。
- [追加] をクリックする。
- 場所の指定をコンピュータに設定し、オブジェクト名にiis_iusrsと入力して [名前の確認] をクリックする。
- 選択するオブジェクト名が認識されたら、[OK] をクリックする。
- アクセス許可は特に変更せず、[OK] をクリックする。
PHPランタイム登録
- IISマネージャのハンドラーマッピングをクリック。
- モジュールマップの追加をクリック。
- 以下を入力 要求パス:*.php モジュール:FastCgiModule 実行可能ファイル:{インストールフォルダ}\php-cgi.exe 名前:PHP_via_FastCGI
- [要求の制限] ボタンをクリックする。
- [要求のマップ先が次の場合のみハンドラーを呼び出す] にチェック
- [ファイルまたはフォルダー] を選択して [OK] をクリックする。
- [OK] をクリックする。
- [はい]をクリックする。
- サンプルテスト C:\inetpub\wwwroot\info.phpファイルを作成。 <?php phpinfo(); ?>を追記。 http://localhost/info.php にアクセス
PHPの製造
製造
アップロード用画面を作成 upload.phpをwwwrootに作成
<!DOCTYPE html> <html lang = “ja”> <form enctype="multipart/form-data" action="result.php" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> このファイルをアップロード: <input name="userfile" type="file" /> <input type="submit" value="ファイルを送信" /> </form>