ThinkPHP5.0之文件上傳

ThinkPHP5.0之文件上傳

  1. 普通上傳
	// 1.獲取上傳的文件數據
	$file = $request->file("file");
	 // 判斷是否存在文件上傳對象
	    if ($file) {
	    	// 2.移動到指定目錄下
		    // ROOT_PATH 框架應用根目錄
		    // DS 當前系統的目錄分隔符
		    $files  = $file->move(ROOT_PATH."public".DS."uploads");
		    dump($files);
		    // 獲取文件信息
		    dump($files->getSaveName());
		    // 獲取文件後綴名
		    dump($files->getExtension());
	    }
  1. 帶驗證的上傳
	 // 1.獲取上傳的文件信息
	    $file = $request->file("file");
	    // 2.數據驗證
	    $res = $this->validate(['file' => $file], 'File');
	    // 3.判斷
	    if (true !== $res) {
	    	$this->error($res, '/file/index');
	    }
	    // 4.移動文件
	    $files = $file->move(ROOT_PATH."public".DS."uploads");
	     // 獲取文件路徑
	    $savename = $files->getSaveName();
	     // 獲取文件後綴
	    $ext= $files->getExtension();

文件上傳驗證器類

	<?php
	namespace app\admin\validate;
	
	use think\Validate;
	
	class File extends Validate
	{
		// 驗證規則
		protected $rule = [
			'file'   => 'require|image|file',
		];
		
		// 提示信息
		protected $message = [
			'file.require'   => '上傳文件不能爲空',
			'file.image'     => '非法圖像文件',
			'file.file'      => '非法文件',
		];
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章