PHPでPDFをアップロードする関数!
PHPでPDFをアップロードする関数は以下のように実現できます。
/*************************************************** * PDFファイルのみアップロードする * 引数: * 1.<input type="file"/>でアップロードしたデータ * 2.アップロード後のファイルにつける名前 * 3.アップロード先のディレクトリ名(最後に/をつける必要なし) * 戻り値:成功した場合はアップロード後のファイル名(保存されたファイル名) * 失敗した場合にはfalse ***************************************************/ public function upload_pdf($data,$name,$dir){ if(!empty($data["tmp_name"]) && $data["size"]>0){ $name_array = explode(".",$data["name"]); $extention = $name_array[count($name_array)-1]; if($extention == "pdf"){ $new_name = $name.".".$extention; $file_path = $dir."/".$new_name; if(move_uploaded_file($data["tmp_name"],$file_path)){ return $new_name; }else{ return false; } }else{ return false; } }else{ return false; } }
cakePHPではcomponentを作成しその中に定義しておくとよいでしょう。
cakePHPでの使用例。DataComponentを作成してあると仮定して、
if($this->request->isPost()){ $data = $this->data; $new_name = date("YmdHis")."_"; $work_name = $this->Data->upload_pdf($data["work_name"],$new_name,"../wedroot/pdf"); }
本来データの種類は["type"]で判断するべきところだと思いますが、今回は簡単に拡張子で判断しています。