PHPスクリプトとHTMLによるファイルのアップロード †PHPによるファイルアップロードの環境構築とサンプルコードを以下に紹介します。 スポンサーリンク 関連記事 †以下の資料はLINUX.JUST4FUN.BIZで公開している資料です。 動作確認環境 †$ lsb_release -d Description: Ubuntu 12.04.4 LTS $ apache2 -v Server version: Apache/2.2.22 (Ubuntu) Server built: Jul 12 2013 13:38:21 $ php --version PHP 5.3.10-1ubuntu3.10 with Suhosin-Patch (cli) (built: Feb 28 2014 23:19:50) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies アップロード先ディレクトリの環境設定 †Apacheのドキュメントルート(Ubuntuの場合/var/www)にfileディレクトリをパーミッション777で作成しました。 sakura@ubuntu:~$ cd /var/www/ sakura@ubuntu:/var/www$ sudo mkdir file sakura@ubuntu:/var/www$ sudo chmod 777 file php.iniファイルの確認 †php.iniファイルには以下に記す部分の記載があります。 ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; ; Whether to allow HTTP file uploads. ; http://php.net/file-uploads file_uploads = On ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). ; http://php.net/upload-tmp-dir ;upload_tmp_dir = ; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize = 2M ; Maximum number of files that can be uploaded via a single request max_file_uploads = 20 file_uploads, upload_max_filesize, max_file_uploads などの設定値があります。
この設定値が間違っているとファイルアップロードに失敗する可能性があるので注意してください。 アップロード用HTMLの準備 †以下のHTMLをApacheのドキュメントルートに配置します。(Ubuntuの場合は/var/www) <html> <body> <form enctype="multipart/form-data" action="upload.php" method="POST"> UPLOAD FILE : <input name="userfile" type="file" /> <input type="submit" value="UPLOAD!" /> </form> </body> </html> アップロード処理用のPHPを準備 †upload.php (改行コードLF)
以下のphpスクリプトをApacheのドキュメントルートに配置します。(Ubuntuの場合は/var/www) <?php $uploaddir = '/var/www/file/'; $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { echo "<b>Upload success.</b>"; } else { echo "<b>Upload failed.</b>"; } // DEBUG // print_r($_FILES); ?> ブラウザによりHTMLにアクセス †
以上、PHPによるファイルのアップロード方法でした。 スポンサーリンク |