2011年1月3日月曜日

Zend Framework ファイルアップロード処理

Zend FrameworkのZend_Controller_Request では、ファイルアップロードに関する操作が行え無い(ような)ので、$_FILESと@move_upload_file()を利用する。

アップロードされるファイルの情報は、

$_FILES['パラメータ名']['xxxx']
でアクセスする。
複数のファイルをアップロードする場合は、パラメータ名をそれぞれ対応するもので置き換える。

詳細情報(xxxx)は、以下で取得する。

1)ファイル名(name)
2)ファイルサイズ(size)
3)テンポラリファイル名(tmp_name)
4) MIMEタイプ(type)
5)エラーコード(error)
  正常終了の場合:UPLOAD_ERR_OK(0)
  ファイルが設定されていない場合:UPLOAD_ERR_NO_FILE (4)
 
move_uploaded_file関数で、テンポラリファイルを他のディレクトリへコピーする。
テンポラリファイルは、PHPのスクリプトが終了すると削除される。

move_uploaded_file($_FILES['パラメータ名']['tmp_name'], ファイル名パス);

※ファイル名パスは、相対パスでもOK

コード例)
if($_FILES['パラメータ名']['error'] == UPLOAD_ERROR_OK){
   move_uploaded_file($_FILES['パラメータ名']['tmp_name'], ファイル名フルパス);
}

0 件のコメント: