php 上传图片

根据同事代码整理而得

html

<form action="/admin/file/save" method="post" enctype="multipart/form-data"> //enctype="multipart/form-data"
	<input type="file" name="image"/>
	<input type="submit"/>
</form>

php

if(0==$_FILES['image']['size']){	//上传文件大小 $_FILES['image']['size']
	return $this->view->err = '请选择文件';
}

$exif   = getimagesize($_FILES['image']['tmp_name']);//$_FILES['image']['tmp_name']文件上传后服务器存储的临时文件名 getimagesize获得大小
$formats= array('image/png','image/jpeg','image/gif','image/x-ms-bmp');

if(!in_array($exif['mime'], $formats)){	//$exif['mime']格式类型 也可以用$_FILES['image']['type']不过这个就不是临时文件了。
	return $this->view->err = '只支持 jpg、gif、png、bmp 格式。';
};

$date = date('Y-m-d');
if(!is_dir(UPLOAD_DIR.'/'.$date)){mkdir(UPLOAD_DIR.'/'.$date);} //is_dir()检查指定的文件是否是目录,不是的话,mkdir()创建
$image_name = '/'.$date.'/'.time().rand().'.'.strtolower(substr($_FILES['image']['name'], strrpos($_FILES['image']['name'], '.')+1));															//substr($_FILES['image']['name'], strrpos($_FILES['image']['name'], '.')+1); substr($str, 位置) strrpos($str, '.') .出现的位置 获取的是图片的类型 还有其他方法 $arr = explode('/', $_FILES['image']['type']) $arr[1]也是图片的类型
$image_path = UPLOAD_DIR .$image_name;	//图片的路径了$image_path
if(!move_uploaded_file($_FILES['image']['tmp_name'], $image_path)){	//move_uploaded_file(),将上传的文件移到新位置,也就是将服务器的临时文件移到 图片的路径下边
	$this->view->err = '上传失败';
	return;
}else{
	$attachment = Ata_Db_Static::getTable('Attachment')->createRow();	//成功上传后,创建Zend_Db_Table_Row对象
	$attachment->size	= $_FILES['image']['size'];				//对象属性赋值,$_FILES['image']['size']大小
	$attachment->utime	= time();						//上传时间
	$attachment->path	= $image_name;					//相对路径
	$attachment->save();
}



 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值