PHP ファイルをアップロードする
php.iniを編集してファイルアップロードを可能にする
file_uploads = On
他に次のような設定項目がある。
- upload_tmp_dir : 一時アップロードディレクトリ
- upload_max_filesize : 上限ファイルサイズ
アップロード用フォーム作成
「HTML部分」アップロード用フォーム
<form action="myupload.php" enctype="multipart/form-data" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="1024000">
<input type="file" name="filez">
<input type="submit" value="アップロードする">
</form>
「PHP部分」アップロード処理
//アップロード失敗
if ($_FILES['filez']['error']!=UPLOAD_ERR_OK) exit();
//ファイルサイズ制限越え
if ($_FILES['filez']['size']>1024000) exit();
//ファイルの移動先
$upload_file = '/var/www/html/' . $_FILES['filez']['name'];
//ファイル移動
if (move_upload_file($_FILES['filez']['tmp_name'], $upload_file)) {
echo 'アップロード成功';
} else {
echo 'アップロード失敗';
}
フォーム内にMAX_FILE_SIZEを用意するとサイズチェックを行う。単位はバイト。
アップロード情報は、$_FILES['フォーム名']['キー']でアクセス出来る。
アップロードしたファイルは、$_FILES['フォーム名']['tmp_name']に一時的に保存されるので、move_upload_file()関数で移動する。