最近使用laravel的时,候想实现用户上传头像,并自定义区域裁剪的功能;查了一些资料基本上都是Jcorp+uplodify+php的方法实现的;于是做了demo,也基本上实现了功能,郁闷的事,在结合laravel的时候uplodify上传302错误码,按照网页的方法传递session_id,也不见生效,后来改用ajaxupload完美实现了这个功能,特此记录:
final效果图:
代码:
/**
* 上传头像
*/
public function upload(){
$path = app_path()."/../public/avatar/";
$tmpath="/avatar/";
if(!empty($_FILES)){
//得到上传的临时文件流
$tempFile = $_FILES['myfile']['tmp_name'];
//允许的文件后缀
$fileTypes = array('jpg','jpeg','gif','png');
//得到文件原名
$fileName = iconv("UTF-8","GB2312",$_FILES["myfile"]["name"]);
$fileParts = pathinfo($_FILES['myfile']['name']);
//最后保存服务器地址
if(!is_dir($path)){
mkdir($path);
}
if (move_uploaded_file($tempFile, $path.$fileName)){
$info= $tmpath.$fileName;
$status=1;
$data=array('path'=>app_path(),'file'=> $path.$fileName);
}else{
$info=$fileName."上传失败!";
$status=0;
$data=