プログラミングで飯を食え。腕をあげたきゃ備忘録!

PHP、JavaScript、HTML5、CSS3などWEB系言語を中心に基本テク、備忘録をまとめます。Android、Iphoneアプリ開発についても!

PHPでPDFをアップロードする関数!

サクウェブTVはコチラ↓↓↓
サクウェブTV

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"]で判断するべきところだと思いますが、今回は簡単に拡張子で判断しています。

>>PHPで画像をアップロードする関数!<<

>>PHPでPDFをアップロードする関数!<<

>>PHPでFLVをアップロードする関数!<<

>>PHPでファイルをアップロードする関数!<<

>>PHPで特定のファイルをアップロードする関数!<<