1. 程式人生 > >php-tp5文件上傳

php-tp5文件上傳

xls url mimetype ads Enctype ini use message tp5

文件上傳沒有上傳上會出現的問題

1.沒有寫enctype="multipart/form-data"

2.名字是type=‘file‘ 的name $file = request()->file(‘filename‘);

3.我總忽略的一點 文件的大小是否超過了php.ini upload_max_filesize的最大的大小 一般默認是2M post_max_size post方法的最大大小

4.有一些人會遇見單雙引號的問題 request()->file(‘filename‘); 裏面要雙引 應該是用了中文的空格

tp5文件上傳限制大小格式的寫法

public function handle($img = ‘files‘)
{

// 獲取表單上傳文件 例如上傳了001.jpg
$file = request()->file($img);
// 移動到框架應用根目錄/public/uploads/ 目錄下

if ($file) {
$new_file = ‘uploads‘ . ‘/‘ . USER_ID . ‘/‘ . date(‘Ym‘) . ‘/‘ . date(‘d‘) . ‘/‘;
//return $new_file;
$bef_info = $file->getInfo();

if

(!file_exists(ROOT_PATH .‘public‘ . ‘/‘ . $new_file)) {
//檢查是否有該文件夾,如果沒有就創建,並給予最高權限
mkdir(ROOT_PATH .‘public‘ . ‘/‘ . $new_file, 0777, true);
}

$validata = [‘size‘ => 1024000, ‘ext‘ => ‘jpg,png,gif,txt,doc,hlp,wps,rtf,html,pdf,docx,rar,zip,arj,gz,z,waz,aif,au,mp3,ram,wma,mmf,amr,aac,flac,xlsx‘];
$info = $file->rule(‘uniqid‘)->validate($validata)->move(ROOT_PATH
. $new_file);

if ($info) {
// 成功上傳後 獲取上傳信息

$file_info = array(
"image-type" => $info->getExtension(),
"image-frames" => 1,
"image-height" => 377,
"sign" => "65096b4ff9d0a1c3b41c343b8fa27605",
"code" => 200,
"file_size" => 75761,
"image-width" => 547,
"url" => $new_file . $info->getSaveName(),
"time" => 1508835353,
"message" => "ok",
"mimetype" => "image/jpeg",
"name" => $info->getFilename(),
"path" => $new_file,
‘bet_info‘ => $bef_info

);

$data = array(
"type" => $info->getExtension(),
//"image-frames"=>1,
//"image-height"=>377,
//"image-width"=>547,
//"sign"=>"65096b4ff9d0a1c3b41c343b8fa27605",
//"code"=>200,
"size" => $bef_info["size"],
"url" => $new_file . $info->getSaveName(),
//"time"=>1508835353,
//"message"=>"ok",
"savename" => $info->getSaveName(),
"name" => $bef_info["name"],
"mimetype" => $bef_info["type"],
);
//print_r($data);


// Db::connect(DB_CONFIG)->table(‘rrs_upload_files‘)->insert($data);


return [‘code‘ => 0, ‘file_info‘ => $file_info,‘data‘=>$data];

// 輸出 jpg
//echo $info->getExtension()."\n";
// 輸出 20160820/42a79759f284b767dfcb2a0197904287.jpg
//echo $info->getSaveName()."\n";
// 輸出 42a79759f284b767dfcb2a0197904287.jpg
//echo $info->getFilename()."\n";
} else {
// 上傳失敗獲取錯誤信息
return [‘code‘ => 1, ‘data‘ => $file->getError()];
}
}

}

php-tp5文件上傳