上传图片的php代码

上传图片的php代码

我这个因为我本身是用于上传图片和图片的介绍,所以有上传文字的部分代码,可以不用,自行修改

需要根据自己工程更改才能用的地方:

  • $ upfile=$ _FILES[“pic”]的pic要改为在html表单input框上传的name
  • 定义上传后的目录
  • 连接数据库的mysqli(“主机名”, “数据库的登陆账号”, “密码”, “数据库名”)
  • 跳转的页面
php全代码
    <?php
	
	$upfile=$_FILES["pic"];//pic改为对应在html表单的name
	$typelist=array("image/jpeg","image/jpg","image/png","image/gif");
	$path="pic/";//定义一个上传后的目录
	
	//过滤上传文件的错误号
	if($upfile["error"]>0){
		switch($upfile['error']){//获取错误信息
			case 1:
				$info="上传得文件超过了 php.ini中upload_max_filesize 选项中的最大值.";
				break;
			case 2:
				$info="上传文件大小超过了html中MAX_FILE_SIZE 选项中的最大值.";
				break;
			case 3:
				$info="文件只有部分被上传";
				break;
			case 4:
				$info="没有文件被上传.";
				break;
			case 5:
				$info="找不到临时文件夹.";
				break;
			case 6:
				$info="文件写入失败!";
				break;
		}
		die("上传文件错误,原因:".$info);
	}
	
	if(!in_array($upfile["type"],$typelist)){
	
		die("上传文件类型非法!".$upfile["type"]);
	}
	
	$fileinfo=pathinfo($upfile["name"]);//解析上传文件名字
	
	do{
		$newfile=date("YmdHis").rand(1000,9999).".".$fileinfo["extension"];
	}while(file_exists($path.$newfile));
	//生成一个新的文件名
	
	if(is_uploaded_file($upfile["tmp_name"]))
	{
		if(move_uploaded_file($upfile["tmp_name"],$path.$newfile))//文件路径和新文件名连起来成为新文件名一起上传
		{
			echo "文件上传成功!";
		
			session_start();
			$username=$_SESSION['login_user'];//上传文字内容,可不要
			$ptime=$_POST['ptime'];//上传文字内容,可不要
			$story=$_POST['story'];//上传文字内容,可不要
		
			$connection=new mysqli("localhost", "gggg", "123456", "album");
			//这里填 mysqli("主机名", "数据库的登陆账号", "密码", "数据库名")
			
			mysqli_query($connection, "set names utf8");//使其可以上传中文内容
			
			$connection->query("insert into picture(path,ptime,story,user) 
			values('$path$newfile','$ptime','$story','$username')");
			//这里的sql语句自己根据实际情况定义,只要是把$path$newfile这个路径传上去就行了
		
			header('location:managerindex.php');//选择要跳转的页面
		}
		else{
			die("上传图片失败!");
		}
	}
	else{
		die("不是一个上传文件!");
	}
    ?>
html的表单部分:
	<input type="file" name="pic" id="picID" style="cursor: pointer;"  accept="image/gif,image/jpeg,image/x-png"/>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值